1. sayfa
$total = count($_FILES['okuludf']['name']); // Loop through each file for($i=0; $i<$total; $i++) { //Get the temp file path $tmpFilePath = $_FILES['okuludf']['tmp_name'][$i]; //Make sure we have a filepath if ($tmpFilePath != ""){ //Setup our new file path $newFilePath = "./uploadFiles/" . $_FILES['okuludf']['name'][$i]; //Upload the file into the temp dir if(move_uploaded_file($tmpFilePath, $newFilePath)) { //Handle other code here } } } |
Yorum satırları birde Türkçe olsaydı anlamak konusunda daha iyi olurdu kodu denemek konusunda ise şu anlık deneyemiyorum denediğimde sonucu yazarım. Teşekkür ederim. |
Kodu şöyle düzenledim : $total = count($_FILES['okuludf']['name']); Ama şöyle hatalar alıyorum : Notice: Undefined variable: key in C:\xampp\htdocs\egoldshop2\okulud.php on line 480 Notice: Undefined index: in C:\xampp\htdocs\egoldshop2\okulud.php on line 480 Notice: Undefined variable: key in C:\xampp\htdocs\egoldshop2\okulud.php on line 481 Notice: Undefined index: in C:\xampp\htdocs\egoldshop2\okulud.php on line 481 Bu sorunu nasıl çözebilirim? Yardımınıza ihtiyacım var. |
Değiştirdim ama session yol2 i yazdırınca yani adını yazdırınca E yazıyor. Bu sorunu nasıl çözebilirim? Yardımınıza ihtiyacım var. |
$_FILES["okuludf"]["name"] karşılığı dizi olması lazım. Bu önemli. Onun haricinde mobil olduğum için inceleyemedim. |
Dizi derken birden fazla mı fotoraf yüklemem lazım ben input file de name okuludf[] diye kaydetmiştim birden fazla resim seçebilmek için. |
echo is_array($_FILES["okuludf"]["name"]); çıktısı true olarak mı yoksa false olarak mı görünüyor? |
Sonuç 1 yani true |
O zaman $_FILES["okuludf"]["name"] değeri boş da olabilir. print_r($_FILES["okuludf"]["name"]) sonucu bir şeyler çıkıyor mu? |
Yazıyor |
Tam olarak ne yazıyor? |
Ekran Görüntüsü (561).png |
Dizi olarak 1 görünüyordu ama bu görünen dizi değil, değişken. Tam ne olduğunu anlamak için mümkünse kodun tümüne falan ulaşmak iyi olacak özelden falan. Yoksa ilerleme olmuyor. ![]() |
Tüm kod bu. |
Form sayfasının kodu eksik. |
Merhaba, şimdi şöyle : foreach( $_FILES["okuludf"]["tmp_name"] as $key=>$tmp_name){ Adını yazdırınca C yazıyor. $_FILES["okuludf"]; yazdırınca sonuç şöyle : Array ( [name] => C [type] => Array ( [0] => image/png ) [tmp_name] => Array ( [0] => C:\xampp\tmp\phpC85A.tmp ) [error] => Array ( [0] => 0 ) [size] => Array ( [0] => 105659 ) ) Form ise şöyle : <form action="okulud.php" method="post" enctype="multipart/form-data"> Bu sorunu nasıl çözebilirim? Yardımınıza ihtiyacım var. |
Şu şekilde baktım. Sorun yok görünüyor. Hata yoksa yapılacak işlem ne? if (isset($_POST['submit2'])) { echo "<pre>"; print_r($_FILES["okuludf"]); echo "</pre>"; $boyut = implode(",", $_FILES["okuludf"]["size"]); if ($boyut > 0) { foreach($_FILES["okuludf"]["name"] as $key=>$tmp_name){ $gecicidosya = $_FILES["okuludf"]["tmp_name"][$key]; @$_SESSION['yol'] = $_FILES["okuludf"]["name"][$key]; @$_SESSION['yol2'] = $_FILES["okuludf"]["name"][$key]; echo "Geçici dosya: ".$gecicidosya."<br />"; echo "yol: ".$_SESSION['yol']."<br />"; echo "yol2: ".$_SESSION['yol2']."<br />"; move_uploaded_file($gecicidosya, $_SESSION['yol']) or die("4"); array_push($resimarray, $_SESSION['yol']); array_push($resimarray, $_SESSION['yol2']); } }else{ } $_SESSION['okulueua'] = $okuluduay; $_SESSION['okulueua2'] = $okuludua2y; $_SESSION['okulueuf'] = $okuludufy; $_SESSION['okuluekf'] = $okuludkfy; $_SESSION['okuluea'] = $okuluday; $_SESSION['resimarray'] = $resimarray; } |
Sorun çözüldü. |
1. sayfa
php'de foreach hatası alıyorum hata şöyle :
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\xxx\okulud.php on line 480
480 satır şöyle :
Kod şöyle :
Bu sorunu nasıl çözebilirim?
Yardımınıza ihtiyacım var.
< Bu mesaj bu kişi tarafından değiştirildi webandyazilimprofesor -- 24 Kasım 2017; 21:25:47 >