Dalla versione 4.2.0, il PHP restituisce un codice di errore nella matrice del file. Il codice di errore si trova nell'indice error e viene valorizzato durante l'upload del file da parte del PHP. In altre parole l'errore può essere trovato in $_FILES['userfile']['error'].
UPLOAD_ERR_OK
Valore: 0; Non vi sono errori, l'upload è stato eseguito con successo.
UPLOAD_ERR_INI_SIZE
Valore: 1; Il file inviato eccede le dimensioni specificate nel parametro upload_max_filesize di php.ini.
UPLOAD_ERR_FORM_SIZE
Valore: 2; Il file inviato eccede le dimensioni specificate nel parametro MAX_FILE_SIZE del form.
UPLOAD_ERR_PARTIAL
Valore: 3; Upload eseguito parzialmente.
UPLOAD_ERR_NO_FILE
Valore: 4; Nessun file è stato inviato.
UPLOAD_ERR_NO_TMP_DIR
Valore: 6; Mancanza della cartella temporanea. Inserito in PHP 4.3.10 e PHP 5.0.3.
UPLOAD_ERR_CANT_WRITE
Valore: 7; Erroe di scrittura su disco. Inserito in PHP 5.1.0.
UPLOAD_ERR_EXTENSION
Valore: 8; n'estensione di PHP ha interotto il caricamento. PHP non fornisce un modo per capire quale estensione ha causato l'interruzione del caricamento; esaminare l'elenco delle estensioni caricate con phpinfo() può essere d'aiuto. Introdotto in PHP 5.2.0.
Nota:
Questi valori sono diventati costanti PHP dalla versione 4.3.0.