Tengo un problema siguiente, tengo un formulario HTML que carga un archivo con información adicional. Pero permite cargar archivos que solo tienen menos de 10 MB. Pero cuando el usuario intenta subir algo más grande, tanto $ _POST como $ _FILES están vacíos (esperaba que $ _POST tuviera algunos valores y $ _FILES tuviera algunos valores, pero indicaría que hay un error de carga).
Hay algunas preguntas (vacías $ _POST, $ _FILES) así, pero no encontré ninguna solución o explicación para ello.
formulario HTML:
<form enctype="multipart/form-data" method="post" action="upload.php">
<p>
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
<input type="file" name="image" />
</p>
<p>
<input type="text" name="other_field" />
</p>
</form>
upload.php
print_r($_POST); // array()
print_r($_FILES); // array()
exit;
Funciona bien, si el tamaño del archivo es de menos de 10MB (límite de tamaño del archivo es de 10 MB), y no quieren aumentar Es solo que quiero capturar un error en PHP.
Actualizado (explicación/solución) en el sitio de PHP
Desde el sitio PHP (me perdí esta sección): http://us.php.net/manual/en/ini.core.php#ini.post-max-size
Establece el tamaño máximo de datos de envío permitido. Esta configuración también afecta la carga de archivos. Para cargar archivos grandes, este valor debe ser mayor que upload_max_filesize. Si el script de configuración habilita el límite de memoria, memory_limit también afecta a la carga de archivos. En general, memory_limit debe ser mayor que post_max_size. Cuando se usa un número entero, el valor se mide en bytes. La notación abreviada, como se describe en esta pregunta frecuente, también se puede usar. Si el tamaño de los datos de publicación es mayor que post_max_size, los superglobals $ _POST y $ _FILES están vacíos. Esto se puede rastrear de varias maneras, p. pasando la variable $ _GET al script que procesa los datos, es decir, y luego verifica si $ _GET ['processed'] está configurado.
¿Ha leído http://php.net/manual/en/features.file-upload.php? –
sí, pero tal vez me perdí algo allí. Las matrices $ _FILES y $ _POST están vacías en este caso, y parece que deberían proporcionar un código de error. –