Dateiupload mit mehreren Datein

daniel_sun

Erfahrenes Mitglied
Hallo,

ich möchte einen Dateiupload erstellen in dem man mehrere Datein hochladen kann:
HTML:
<input type="file" name="pictures" multiple="true" accept="image/*" size="100">

Mit PHP soll dann der Upload durchgeführt werden. Habe mehrere Beiträge auch 2005 und 2006 gefunden, dass das PHP bzw. die Browser nicht mitmachen.

Meine Frage ist nun ist das im Jahr 2011 immer noch so? Hab leider nix aktuelles gefunden. Und falls es geht, mit welcher Variablen werden die einzelnen Datein dann angesprochen?
 
Du kannst das doch einfach testen: Die Superglobale für Datei-Uploads lautet $_FILES. Mein erster Versuch wäre:

- Bau ein Form für multiple Dateien mit action upload.php
- Bau in upload.php ein:

PHP:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL|E_STRICT);

echo "<pre>";
var_dump($_FILES);
echo "</pre>";
?>

Schau mer mal, dann sehn wirs scho
 
Habe 5 Datein ausgewählt und es kommt:

["pictures"]=> array(5) { ["name"]=> string(20) "000617-fass7te05.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(24) "C:\xampp\tmp\php86F8.tmp" ["error"]=> int(0) ["size"]=> int(25012) } }
 
Das bedeutet, der Upload hat nur eine Datei registriert (eine Datei hat 5 Eigenschaften, daher im Array 5 Elemente). Hat dein Input-Feld die 5 Dateien auch angezeigt? Warum löst du es nicht über 5 Input-Felder pro Form - natürlich alle mit unterschiedlichen Namen?
 
an saftmeister: Er kann natürlich den Dateinamen auch so wählen, dass sie als Array erkannt werden. Deshalb fragte ich, wie denn seine Felder heißen.
 
Es war ein einziges Inputfeld (das was ich oben gepostet habe) standen dann mehrer datein weil man ja durch mutliple=true mehrere im opendialog öffnen kann

@saftmeister: Es geht um einene Bildergallerie. Da User soll nicht jeders Bild einzeln uppen müssen sondern mehrere auf einmal!
 
Wieder 5 Datein ausgewählt:

["pictures"]=> array(5) {

["name"]=> array(5) { [0]=> string(20) "000617-fass7te01.jpg" [1]=> string(20) "000617-fass7te02.jpg" [2]=> string(20) "000617-fass7te03.jpg" [3]=> string(20) "000617-fass7te04.jpg" [4]=> string(20) "000617-fass7te05.jpg" }

["type"]=> array(5) { [0]=> string(10) "image/jpeg" [1]=> string(10) "image/jpeg" [2]=> string(10) "image/jpeg" [3]=> string(10) "image/jpeg" [4]=> string(10) "image/jpeg" }

["tmp_name"]=> array(5) { [0]=> string(24) "C:\xampp\tmp\phpF4AE.tmp" [1]=> string(24) "C:\xampp\tmp\phpF4AF.tmp" [2]=> string(24) "C:\xampp\tmp\phpF4B0.tmp" [3]=> string(24) "C:\xampp\tmp\phpF4C1.tmp" [4]=> string(24) "C:\xampp\tmp\phpF4C2.tmp" }

["error"]=> array(5) { [0]=> int(0) [1]=> int(0) [2]=> int(0) [3]=> int(0) [4]=> int(0) }

["size"]=> array(5) { [0]=> int(26525) [1]=> int(28044) [2]=> int(19543) [3]=> int(20903) [4]=> int(25012) } } }

So wie es aussieht funktioniert es :-) Nun ist nur noch die Frage wie spreche ich die einzelnen Bilder an also Bild 4 oder 5? Wie heist die Variable im PHP_Code und wie unterschiedet man dann da die bilder?
 
Zurück