upload_max_filesize tamaño subir subida grandes files error aumentar archivos _files php file upload size

php - subida - $_FILE cargar archivo grande da error 1, aunque subir_max_size es más grande que el tamaño del archivo



subir archivos grandes php (5)

Tengo un formulario de carga simple con:

enctype="multipart/form-data"/>

y

input type="hidden" name="MAX_FILE_SIZE" value="5900000" />

Y las siguientes configuraciones, que se aplican (verificadas a través de phpini ()) en php.ini:

upload_max_filesize = 7MB memory_limit = 64M post_max_size = 8MB

Intento subir un archivo que es pequeño - 500k y pasa por

Intento cargar un archivo que es de 5 MB (más pequeño que la configuración de upload_max_filesize y post_max_size ) y falla con el código de error 1: que dice es:

UPLOAD_ERR_INI_SIZE Valor: 1; El archivo cargado excede la directiva upload_max_filesize en php.ini.

¿Alguien tiene una pista de lo que está pasando?


Aquí hay un gran error que he cometido:

Si desea cargar archivos realmente grandes, debe establecer KeepAliveTimeout más alto que el valor predeterminado de 5 segundos.

Por ejemplo:

KeepAliveTimeout 300

Puede encontrar esta propiedad en /etc/apache2/apache2.conf


Creo que esto se debe a un error tipográfico. En lugar de

upload_max_filesize = 7MB

debería leer

upload_max_filesize = 7M

use phpinfo() nuevamente para verificar qué valor se aplica realmente.


También tienes que configurar el post_max_size de post_max_size en "php.ini"


Vaya a W HM->Service Configuration->PHP Configuration Editor y actualice el valor de upload_max_filesize .


upload_max_filesize = 7M

Aquí el valor es como 7M o 10M pero no MB .

Utilice phpinfo() nuevamente para verificar qué valor se aplicó realmente.

Usa el código de abajo para entender cuál es el problema. Si el tamaño del archivo es el problema, simplemente imprime poner como excede la directiva upload_max_filesize en php.ini

<?php $error_types = array( 1 => ''The uploaded file exceeds the upload_max_filesize directive in php.ini.'', ''The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.'', ''The uploaded file was only partially uploaded.'', ''No file was uploaded.'', 6 => ''Missing a temporary folder.'', ''Failed to write file to disk.'', ''A PHP extension stopped the file upload.'' ); // Outside a loop... if ($_FILES[''userfile''][''error''] == 0) { // here userfile is the name // i.e(<input type="file" name="*userfile*" size="30" id="userfile"> echo "no error "; } else { $error_message = $error_types[$_FILES[''userfile''][''error'']]; echo $error_message; } ?>

Por esto podemos identificar fácilmente el problema. También podemos usar switch(){ case } para imprimir los mensajes de error anteriores.