subir studio servidor imagen guardar ejemplo con archivos archivo php upload

php - servidor - subir pdf android studio



¿Puede archivar el tiempo de carga de archivos en PHP? (10)

Al cargar archivos muy grandes, debe cambiar 4 variables de configuración:

  • upload_max_filesize
  • post_max_size
  • memory_limit
  • time_limit

El límite de tiempo puede aumentarse en tiempo de ejecución con set_time_limit ().

Hola, soy bastante nuevo en PHP, he creado un formulario para que los archivos csv muy grandes se carguen en mi servidor. Alguien me mencionó que el navegador puede agotar el tiempo debido a que el archivo de carga es demasiado grande, ¿es así? y si es así, ¿puede prevenirse?

¡Gracias por tu ayuda!


Hay algunas directivas de configuración que pueden hacer que las cargas grandes fallen si sus valores son demasiado pequeños:

PHP

  • max_input_time máximo en segundos que un script puede analizar datos de entrada, como POST, GET y archivos cargados
  • upload_max_filesize Tamaño máximo de un archivo cargado.
  • post_max_size Tamaño máximo permitido de los datos de la publicación.

apache

  • TimeOut de espera Cantidad de tiempo que el servidor esperará por ciertos eventos antes de fallar una solicitud
  • LimitRequestBody Restringe el tamaño total del cuerpo de solicitud HTTP enviado por el cliente

Probablemente haya algo más que esto.


Mi respuesta no está directamente relacionada con su pregunta original, pero si tiene un equilibrador de carga de proxy inverso delante de su script PHP, el equilibrador de carga puede agotar el tiempo de espera o bloquear grandes cargas. Siempre verifique la configuración de su equilibrador de carga si admite la carga de archivos. Al igual que PHP, la mayoría de las configuraciones predeterminadas de carga balanceadores para cargas son muy pequeñas.



No son solo los tiempos muertos los que pueden causar problemas. Hay algunos límites en el tamaño máximo de archivo que se puede cargar. Estos límites se pueden cambiar en el archivo php.ini:

post_max_size
upload_max_filesize memory_limit

Visita http://uk.php.net/ini.core para más detalles.


Pude resolver este problema usando la siguiente configuración, puedes usar diferentes valores pero obtienes la idea:

Para mi servidor, puse estas líneas en un archivo ".user.ini" dentro del directorio de scripts, su servidor puede buscar un archivo diferente, si hace un phpinfo (''user_ini.filename'') en el servidor saldrá el archivo que necesita para poner sus valores en

max_execution_time = 1800 max_input_time = -1 post_max_size = 100M upload_max_filesize = 100M memory_limit = 256M


Si el cambio de cualquiera de los parámetros anteriores no parece hacer ninguna diferencia, puede ser que un formulario html en algún lugar contenga el nombre MAX_FILE_SIZE como un campo oculto.

<input type="hidden" name="MAX_FILE_SIZE" value="10000000">

En el ejemplo anterior, cualquier archivo de más de 10 MB no se cargará.


Si es cierto. La carga de archivos se realiza a través de una solicitud POST y las solicitudes en general están sujetas a tiempo de espera. Debería poder reconfigurar su entorno para un tiempo de espera de solicitud más largo.


Una buena forma de evitar el mal manejo de grandes cargas de archivos en php es usar un cargador como JUpload que dividirá el archivo en fragmentos antes de enviarlos. Esto también tiene el beneficio para sus usuarios de que obtengan una retroalimentación adecuada sobre el progreso durante la carga, y pueden cargar varios archivos de una vez.


Una secuencia de comandos puede ejecutarse, de forma predeterminada, durante aproximadamente 30 segundos. Puede usar la función set_time_limit () para alterar esto. Además, si su usuario tendrá que cargar archivos de gran tamaño, deberá cambiar los valores post_max_size y / o upload_max_filesize en su archivo php.ini.

Además, si desea ampliar su límite de tiempo de espera globalmente, puede cambiar el tiempo máximo de ejecución en php.ini.