Wer mit PHP einen Fileupload umsetzt, prüft (hoffentlich) auf eventuell aufgetretene Fehler. Dazu gibt es ein paar Konstanten gegen die man prüfen kann und so erfährt, was nun schief ging. Bisher waren mir die folgenden Konstanten bekannt:
| Konstante | Wert | Beschreibung |
|---|---|---|
| UPLOAD_ERR_OK | 0 | Sehr beliebt, denn es liegt kein Fehler vor. |
| UPLOAD_ERR_INI_SIZE | 1 | Die hochgeladene Datei ist größer, als es die Einstellung in der php.ini erlaubt. |
| UPLOAD_ERR_FORM_SIZE | 2 | Die Datei ist größer als das in dem HTML-Formular mittels der Anweisung MAX_FILE_SIZE angegebene Limit. |
| UPLOAD_ERR_PARTIAL | 3 | Die Datei wurde nicht vollständig hochgeladen. |
| UPLOAD_ERR_NO_FILE | 4 | Es wurde keine Datei hochgeladen. |
Nun ist die deutsche Dokumentation an dieser Stelle nicht besonders gut gepflegt. Den in der englischen stehen noch weitere Konstanten, die ich hier niemanden vorenthalten will.
| Konstante | Wert | Beschreibung |
|---|---|---|
| UPLOAD_ERR_NO_TMP_DIR | 6 | Es wird ein temporäres Verzeichnis vermisst, in das die Datei unmittelbar nach dem Upload abgelegt werden könnte (Index tmp_name in $_FILES). Seit PHP 4.3.10 und PHP 5.0.3 vorhanden. |
| UPLOAD_ERR_CANT_WRITE | 7 | Die Datei konnte nicht auf die Festplatte des Servers geschrieben werden. Seit PHP 5.1.0 vorhanden. |
| UPLOAD_ERR_EXTENSION | 8 | Der Upload wurde von einer PHP-Extension gestoppt. Welche erfährt man allerdings nicht. Seit PHP 5.2.0 vorhanden. |