Hallo zusammen,
Ich habe eine Internetseite gebaut, auf der die Möglichkeit besteht Dateien auf meinen Server zu laden. Die upload-Funktion habe ich mit php umgesetzt. Damit man mehrere Dateien gleichzeitig hochlaen kann, verwende ich ein Array.
Den Quellcode seht ihr weiter unten.
Nun zu meiner Frage:
Die ganze Sache läuft gut, solange ich nur 10 Dateien hochlade. Sobald ich 11 oder mehr laden möchte, kommt folgende Fehlermeldung:
„Warning: Variable passed to each() is not an array or object in /mnt/web8/41/90/51916590/htdocs/sun-villa.com/dt/upload.php on line 29“
Hier mein Quellcode (Auszug):
zunächst definiere ich, dass ich 20 uploadfelder haben möchte. Diese werden dann in einer for-Schleife erzeugt. Der name der inputfelder definiert das array „images[]“
$max_no_img=20; // Maximum number of images value to be set here
echo „“;
echo „“;
?>
" />
echo "|Bild "; } echo "Preisliste "; echo ""; echo " "; } else { ?\> //hier geht es weiter mit dem html in der upload.php, die mit method post aufgerufen wird, greife ich auf das array zu: Hier wieder ein Ausschnitt: <?php $objekt = $_POST['objekt'];
while(list($key,$value) = each($\_FILES[images][name])) //Name des files wird gelesen { if(!empty($value)){ // this will check if any blank field is entered $filename = $value; // original Name des Files wird in an $filename übergeben $filename=str\_replace(".","\_$objekt.",$filename);// Add \_ inplace of blank space in file name, you can remove this line $add = "../upload/$filename"; // upload directory path is set //echo $\_FILES[images][type][$key]; // uncomment this line if you want to display the file type // echo " "; // Display a line break copy($\_FILES[images][tmp\_name][$key], $add); // upload the file to the server chmod("$add",0777); // set permission to the file. } } ?\> Ich habe keine Ahnung wieso das ganze nur mit maximal 10 Dateien funktioniert. Kann mir jemand weiterhelfen? vielen Dank Lucas