Multi Upload File überprüfen

sugar

Erfahrenes Mitglied
Hallo,

ich verwende folgendes Script um per PHP eine E-Mail mit Attachment zu verschicken. Ich überprüfe folgendermaßen z.B. ob die Größe überschritten wird:
PHP:
foreach ($_FILES as $file) { 
    if ($file['size'] > '3670016') { 
	$hack = true; 
	$feld = "Bitte maximal 7MB versenden";
  } 
}

Jetzt möchte ich aber wissen ob überhaupt ein File ausgefüllt wurde. Wie mache ich das?
 
Lass mal ein Feld leer und prüfe $_FILES
PHP:
var_dump($_FILES);

Da findest du sicher etwas zum prüfen....
 
Kommt folgendes:
PHP:
array(2) { ["file0"]=> array(5) { ["name"]=> string(9) "test.docx" ["type"]=> string(71) "application/vnd.openxmlformats-officedocument.wordprocessingml.document" ["tmp_name"]=> string(18) "/var/tmp/phpXvaqMM" ["error"]=> int(0) ["size"]=> int(9899) } ["file1"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } }

Das war als ich nur ein Feld ausgefüllt habe. Hm aber ich komm noch nicht drauf wie ich jetzt überprüfe ob überhaupt ein File eingetragen wurde?
 
Wenn man das ganze formatiert anschaut (ist übrigens im Quelltext sauber formatiert. Zum Auswerten von var_dump() in den Quelltext wechseln lohnt sich) findet sich schon was oder?

Code:
["file0"]=> array(5) {
	["name"]=> string(9) "test.docx" 
	["type"]=> string(71) "application/vnd.openxmlformats-officedocument.wordprocessingml.document" 
	["tmp_name"]=> string(18) "/var/tmp/phpXvaqMM" 
	["error"]=> int(0) 
	["size"]=> int(9899) 
} 
["file1"]=> array(5) { 
	["name"]=> string(0) "" 
	["type"]=> string(0) "" 
	["tmp_name"]=> string(0) "" 
	["error"]=> int(4) 
	["size"]=> int(0)

bei file1 ist alles leer.
- kein name
- kein type
- kein tmp_name
- error ist 4 nicht 0
- size ist 0

Das isnd also 5 Dinge wo man drauf testen kann. Wähl dir eines aus.
 
Also müsste es so einfach gehen?

PHP:
if ($_FILES['file0']['name']== "") {
	$hack = true; 
	$feld = "Bitte ein File hochladen";
}
 
Zurück