Ingo Turski: Upload

Beitrag lesen

Hi,

wozu isset()?

if($_FILES[$uploadfieldname]['error']) Fehlermeldung();
sollte doch ausreichen, wenn zuvor geprüft wurde, ob ein Upload stattgefunden hat, oder?

Nein. Ich sagte ja, dass man dies als erstes prüfen soll.

ich prüfe das eingangs über if(isset($_FILES['Feldname'])) und dann sollten doch weitere isset() überflüssig sein.

Es könnte sein, dass $_FILES[$uploadfieldname]['error'] ein Array ist.
Dann liegt aber noch lange kein Fehler vor.

Stimmt - aber dann müssten mehrere Dateien übertragen worden sein (was unerwünscht wäre und im übrigen auch bei Deinem Vergleich ja als Fehler gewertet würde!) und $_FILES["file"]["tmp_name"] ebenfalls ein Array sein und damit durch die Prüfung fallen, oder nicht?
Abgesehen davon liefert die simple Abfrage if($Variable) bei einem Array sowieso immer true, so dass im obigen Beispiel Fehlermeldung() aufgerufen würde.

Die Prüfung auf 'identisch 0' ist hier einfach richtig.

ich habe nicht gesagt, dass sie falsch wäre, sondern nur überflüssig. Und wenn $_FILES[$uploadfieldname]['error'] ein Array sein sollte, dann wäre auch diese Prüfung ungenügend zur Ausgabe einer zutreffenden Fehlermeldung.
Meine Beispielfunktion Fehlermeldung() könnte allerdings eine Abfrage if(is_array(...)) enthalten... ;-)

  • Enthält sie zwar noch nicht, aber dank Deinem Hinweis werde ich das gleich mal hinzufügen.

freundliche Grüße
Ingo