Desde o PHP 4.2.0, PHP retorna um código de erro apropriado na array do arquivo. O código de erro pode ser encontrado em ['error'] na array que é criada durante o upload do arquivo. Em outras palavras, o erro deve ser encontrado em $_FILES['userfile']['error'].
UPLOAD_ERR_OK
Valor: 0; não houve erro, o upload foi bem sucedido.
UPLOAD_ERR_INI_SIZE
Valor 1; O arquivo no upload é maior do que o limite definido em upload_max_filesize no php.ini.
UPLOAD_ERR_FORM_SIZE
Valor: 2; O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE que foi especificado no formulário HTML.
UPLOAD_ERR_PARTIAL
Valor: 3; o upload do arquivo foi feito parcialmente.
UPLOAD_ERR_NO_FILE
Valor: 4; Não foi feito o upload do arquivo.
Nota:
Estas tornaram-se constantes no PHP 4.3.0