Errores #22633
Error / mejora en el tratamiento de subida de ficheros (GASPAR)
Estado: | Cerrada | Fecha de inicio: | 2019-03-08 | |
---|---|---|---|---|
Prioridad: | Alta | Fecha fin: | ||
Asignado a: | Veronica Navarro Porter | % Realizado: | 100% |
|
Categoría: | - | |||
Versión prevista: | gvHIDRA-5_0_0 | |||
Ref. DESIG (Jira): | ENT-311025 |
Descripción
PHP, en el caso de que un submit de formulario tenga un tamaño de POST que exceda el POST_MAX_SIZE, vacía los arrays $_POST y $_FILES (el $_GET si llega tal cual esté). En el PC de Iván y en el mío teníamos incializados en el php.ini el POST_MAX_SIZE a 64 y el UPLOAD_MAX_FILESIZE con 64Mb también. Al intentar subir un fichero de 80Mb (que excede del POST_MAX_SIZE) conseguimos reproducir el error.
En esta URL: POST_MAX_SIZE plantean como solución añadir una variable por GET al formulario que contenga uploads (o comprobar si $_GET['phrame'] o alguna de las que ya pasamos llega) para saber si el msimo se ha procesado o no se ha procesado, o intentar comprobar estas variables:
if (
!empty($_SERVER['CONTENT_LENGTH']) //Llega algo en el submit
&& empty($_FILES) //FILES está vació
&& empty($_POST) //POST está vacío
&& //La condición del $_GET
)
{
;//Tratar error de exceso de POST (yo crearía el array con un error o lanzaría una excepción)
}
Histórico
Actualizado por David Pascual hace alrededor de 5 años
La URL de la que hablo es esta: [https://www.flynsarmy.com/2013/10/_files-and-_post-empty-in-php-when-uploading-large-files/]
Actualizado por Veronica Navarro Porter hace alrededor de 5 años
- Estado cambiado Nueva por En curso
Actualizado por Veronica Navarro Porter hace alrededor de 5 años
- Estado cambiado En curso por Cerrada
- % Realizado cambiado 0 por 100
- Ref. DESIG (Jira) establecido a ENT-311025