$ _FILES [ 'archivo'] [ 'size'] haciéndose eco de 0 (cero) para archivos de más upload_max_filesize
-
20-09-2019 - |
Pregunta
El problema es que quiero comprobar si el archivo es demasiado grande para cargar de modo que pueda mostrar un mensaje de error correspondiente, pero cuando el archivo es mayor que upload_max_filesize en php.ini que parece ser sólo mostrar un 0.
¿Por qué sucede esto? ¿Cómo puedo comprobar que el archivo es demasiado grande para dar un error relevante?
Solución
http://php.net/manual/en/ features.file-upload.errors.php
extracto relevante:
A partir de PHP 4.2.0, PHP devuelve una código de error apropiado junto con el presentar matriz. El código de error puede ser encontrado en el segmento de error del archivo matriz que se crea durante el fichero subir por PHP. En otras palabras, el error puede encontrarse en $ _FILES [ 'userfile'] [ 'error'].
Valor UPLOAD_ERR_OK: 0; No hay error, el archivo subido con éxito.
Valor UPLOAD_ERR_INI_SIZE: 1; los archivo subido excede el upload_max_filesize directiva php.ini.
Otros consejos
el hecho de que el archivo está presente y diciendo 0 indica que se produjo un error ... por lo general es sobre el límite de tamaño del archivo. Ese es el error correspondiente .
editar:. A medida que el comentarista menciona a continuación, el error relevante está en $ _FILES [ 'userfile'] [ 'error']