2017-03-13 4 views
0

Ich habe ein sehr einfaches Feld zum Hochladen von Dateien.

Ich zähle die hochgeladenen Dateien mit der PHP-Funktion count($_FILES["name"]["tmp_name"]);

Allerdings, wenn ich Upload keine Dateien, und lassen Sie die Eingabe leer, hält die Zählung 1 als ob eine Datei hochgeladen wurde zurückkehrt.

Kann jemand das beheben?

+2

Verwenden Sie die Funktion ['is_uploaded_file()'] (http://php.net/manual/en/function.is-uploaded-file.php), um herauszufinden, ob eine Datei hochgeladen wurde. – axiac

+1

Wenn Sie 'count()' verwenden möchten, geben Sie an, dass Sie mehrdimensionale Arrays überprüfen möchten. Weitere Informationen finden Sie in der Dokumentation zu 'mode' (http://php.net/manual/en/function.count.php). –

+0

@tomudding Durch Hinzufügen des 'COUNT_RECURSIVE' ändert sich das nicht – Ezhno

Antwort

3

count() wird verwendet, um die Elemente eines Arrays oder der Eigenschaften eines Objekts zu zählen, die die Countable Schnittstelle implementiert (es ruft die count() Methode des Objekts.)

ein Wert gegeben, der nicht einer der oben genannten ist (Array oder Objekt, das Countable implementiert), count() gibt 1 mit nur einer Ausnahme zurück: count(NULL) ist 0.

$_FILES["name"]["tmp_name"] ist ein String, egal ob eine Datei hochgeladen wurde oder nicht. count($_FILES["name"]["tmp_name"]) ist immer 1.

Verwenden Sie die Funktion is_uploaded_file(), um herauszufinden, ob eine Datei hochgeladen wurde.

Verwandte Themen