Sie können unterschiedliche Namen für das Eingabefeld verwenden, um mehrere Dateien hochzuladen.
PHP unterstützt das gleichzeitige Hochladen mehrerer Dateien und organisiert deren Informationen automatisch in Form von Arrays. Um diese Funktionalität zu erreichen, müssen Sie für das Datei-Upload-Feld im HTML-Formular dieselbe Array-Übermittlungssyntax wie für Kontrollkästchen und Kontrollkästchen verwenden.
Hinweis:
Unterstützung für das Hochladen mehrerer Dateien wurde in PHP-Version 3.0.10 hinzugefügt.
Beispiel #1 Mehrere Dateien hochladen
<form action="file-upload.php" method="post" enctype="multipart/form-data"> Send these files:<br /> <input name="userfile[]" type="file" /><br /> <input name="userfile[]" type="file" /><br /> <input type="submit" value="Send files" /> </form>
Wenn das obige Formular gesendet wird, wird das Array $_FILES['userfile'], $_FILES['userfile']['name'] und $_FILES['userfile']['size'] werden initialisiert ($HTTP_POST_FILES in Versionen vor PHP 4.1.0). Wenn register_globals auf „on“ gesetzt ist, werden auch globale Variablen im Zusammenhang mit dem Datei-Upload initialisiert. Alle diese Einsendungen werden in einem numerisch indizierten Array gespeichert.
Angenommen, Dateien mit den Namen /home/test/review.html und /home/test/xwp.out werden übermittelt, dann ist $_FILES['userfile']['name'][0] der Wert wird review.html sein und der Wert von $_FILES['userfile']['name'][1] wird xwp.out sein. Ebenso enthält $_FILES['userfile']['size'][0] die Größe der Datei review.html und so weiter.
Darüber hinaus gibt es auch $_FILES['userfile']['name'][0], $_FILES['userfile']['tmp_name'][0], $_FILES['userfile'] gesetzt. ['size'][0] und $_FILES['userfile']['type'][0].