upload ARCHIVO upload archivo grande da error 1 a pesar de que el tamaño máximo de carga es mayor que el tamaño del archivo


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 5MB (más pequeño que los ajustes 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 el tamaño upload_max_filesize directiva en php.ini.

¿Alguien tiene idea de lo que está pasando?

Author: j08691, 2010-11-23

5 answers

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

upload_max_filesize = 7MB

Debe decir

upload_max_filesize = 7M

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

 45
Author: Pekka 웃,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-23 11:40:57

También tiene que establecer el post_max_size en "php.ini "

 7
Author: Lawrence,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-26 21:55:08
upload_max_filesize = 7M

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

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

Use el siguiente código para entender cuál es el problema. Si el tamaño del archivo es el problema, simplemente imprime put as 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;
}
?>

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

 3
Author: yasin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-13 12:51:54

He aquí 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

 1
Author: pdschubert,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-25 17:00:46

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

 0
Author: nisam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-04 15:23:30