O PHP retorna um código de erro apropriado na array do arquivo. O código de erro pode ser encontrado no segmento ['error'] da array que é criada pelo PHP durante o upload do arquivo. Em outras palavras, o erro pode ser encontrado em $_FILES['userfile']['error'].
UPLOAD_ERR_OKValor: 0; não houve erro, o upload foi bem sucedido.
UPLOAD_ERR_INI_SIZEValor 1; O arquivo enviado excede o limite definido na diretiva upload_max_filesize do php.ini.
UPLOAD_ERR_FORM_SIZEValor: 2; O arquivo excede o limite definido em MAX_FILE_SIZE no formulário HTML.
UPLOAD_ERR_PARTIALValor: 3; O upload do arquivo foi feito parcialmente.
UPLOAD_ERR_NO_FILEValor: 4; Nenhum arquivo foi enviado.
UPLOAD_ERR_NO_TMP_DIRValor: 6; Pasta temporária ausênte. Introduzido no PHP 5.0.3.
UPLOAD_ERR_CANT_WRITEValor: 7; Falha em escrever o arquivo em disco. Introduzido no PHP 5.1.0.
UPLOAD_ERR_EXTENSIONValor: 8; Uma extensão do PHP interrompeu o upload do arquivo. O PHP não fornece uma maneira de determinar qual extensão causou a interrupção. Examinar a lista das extensões carregadas com o phpinfo() pode ajudar. Introduzido no PHP 5.2.0.