PHP Handbuch
Zurück | Kapitel 18. Steuerung von Dateiuploads | Nach vorne

# Upload mehrerer Dateien

Mehrere Dateien können hochgeladen werden, indem Sie verschiedene Namen `name` für `input` verwenden.

Es ist ebenfalls möglich, mehrere Dateien simultan hochzuladen, und die Informationen automatisch in Arrays zu erhalten. Um dies zu tun, verwenden Sie in dem HTML Formular die gleiche Array-Sende-Syntax wie bei Auswahllisten mit Mehrfachauswahl und Checkboxen:

> Anmerkung: Die Unterstützung für den Upload von mehreren Dateien wurde in PHP 3.0.10 hinzugefügt.

Beispiel 18-3. Upload mehrerer Dateien

    <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 übermittelt ist, werden die Arrays `$_FILES['userfile']`, `$_FILES['userfile']['name']` und `$_FILES['userfile']['size']` initialisiert (wie auch in $HTTP_POST_FILES vor PHP Version 4.1.0.). Ist `register_globals` aktiviert, werden auch globale Variablen für die hochgeladenen Dateien initialisiert. Jedes von ihnen ist ein numerisch indiziertes Array mit den entsprechenden Werten für die hochgeladenen Dateien.

Nehmen wir zum Beispiel an, dass die Dateinamen `/home/test/review.html` und `/home/test/xwp.out` übermittelt wurden. In diesem Fall würde `$_FILES['userfile']['name'][0]` `review.html` enthalten, und `$_FILES['userfile']['name'][1]` hätte den Wert `xwp.out`. Genauso würde `$_FILES['userfile']['size'][0]` die Dateigröße von `review.html` enthalten, usw.

`$_FILES['userfile']['name'][0]`, `$_FILES['userfile']['tmp_name'][0]`, `$_FILES['userfile']['size'][0]` und `$_FILES['userfile']['type'][0]` sind ebenfalls gesetzt.

Zurück | Zum Anfang | Nach vorne
Häufige Probleme | Nach oben | PUT-Unterstützung