Pergunta

O problema é que quero verificar se o arquivo é muito grande para fazer upload para poder exibir uma mensagem de erro relevante, mas quando o arquivo é maior que o upload_max_filesize em php.ini, parece estar exibindo apenas um 0.

Por que isso está acontecendo? Como posso testar que o arquivo é muito grande para dar um erro relevante?

Foi útil?

Solução

Ver http://php.net/manual/en/features.file-upload.errors.php

Trecho relevante:

Desde o PHP 4.2.0, o PHP retorna um código de erro apropriado junto com a matriz do arquivo. O código de erro pode ser encontrado no segmento de erro da matriz de arquivos criada durante o upload do arquivo pelo PHP. Em outras palavras, o erro pode ser encontrado em $ _files ['userfile'] ['erro'].

Upload_err_ok Valor: 0; Não há erro, o arquivo enviado com sucesso.

Upload_err_ini_size valor: 1; O arquivo carregado excede a diretiva upload_max_filesize em php.ini.

Outras dicas

O fato de o arquivo estar presente e dizer 0 indica que ocorreu um erro ... geralmente está acima do limite do tamanho do arquivo. Esse é o erro relevante.

EDIT: Como o comentarista abaixo menciona, o erro relevante está em $ _files ['userfile'] ['erro'].

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top