upload_max_filesize php upload filesize

PHP post_max_size anula upload_max_filesize



php post max size (6)

En el host de mi sitio, he visto (a través de phpinfo) que

  • post_max_size = 8Mb
  • upload_max_filesize = 16Mb

Esto me llevó a pensar que debería poder subir un archivo de hasta 16Mb. Sin embargo, cuando hago esto a través de un método de publicación (como es normal), post_max_size toma el control y declara que he enviado demasiado.

¿Cuál es el método que permite enviar un archivo de hasta 16Mb? GET - PUT - ¿otro?

Espero que alguien pueda aclarar esto por mí.

Simon


post_max_size:

  • Establece el tamaño máximo de datos de publicación permitidos. Esta configuración también afecta la carga de archivos
  • Para cargar archivos grandes, este valor debe ser mayor que upload_max_filesize
  • En general, memory_limit debe ser mayor que post_max_size.
  • Valor predeterminado de PHP: 8M

upload_max_filesize:

  • El tamaño máximo de un archivo cargado
  • Valor predeterminado de PHP: 2M

memory_limit> post_max_size> upload_max_filesize

Valor predeterminado de PHP: 128M> 8M> 2M

De forma predeterminada, post_max_size debe ser 4 veces mayor que upload_max_filesize.
A su vez memory_limit debe ser 16 veces mayor que post_max_size


El método normal para enviar una carga de archivo es POST, por lo tanto, también post_max_size debe ser de 16 Mb o más.

Por cierto, también memory_limit juega un papel. Debería ser más grande que 16Mb, pero dado que el valor predeterminado es 128Mb, no verá este problema. Ejemplo de configuración php.ini :

post_max_size = 16M upload_max_filesize = 16M memory_limit = 128M

Cambie estos valores en php.ini si tiene acceso a ellos, de lo contrario, puede intentar cambiarlos en un archivo .htaccess .

php_value upload_max_filesize 16M php_value post_max_size 16M

Esto funcionará solo si la configuración AllowOverride permite. De lo contrario, debes preguntarle a tu empresa de hosting.


La configuración de configuración del servidor permite a los usuarios cargar archivos de hasta 16MB (porque ha configurado upload_max_filesize = 16Mb) pero post_max_size acepta datos de publicación de hasta 8MB solamente. Es por eso que arroja un error.

Citado del post_max_size :

  1. Para cargar archivos grandes, el valor de post_max_size debe ser mayor que upload_max_filesize.

  2. memory_limit debe ser mayor que post_max_size

Siempre debe establecer su valor de post_max_size mayor que el valor de upload_max_filesize.



cambio en php.ini max_input_vars 1000


upload_max_filesize es el límite de cualquier archivo individual. post_max_size es el límite de todo el cuerpo de la solicitud, que podría incluir varios archivos.

Dado post_max_size = 20M y upload_max_filesize = 6M , puede cargar hasta 3 archivos de 6M cada uno. Si, en cambio, post_max_size = 6M y upload_max_filesize = 20M entonces solo podría cargar un archivo de 6M antes de presionar post_max_size. No ayuda tener upload_max_size > post_max_size .

No es obvio cómo reconocer post_max_size . $_POST y $_FILES estarán vacíos, pero $_SERVER[''CONTENT_LENGTH''] será> 0. Si el cliente simplemente no subió ninguna variable o archivo, entonces $_SERVER[''CONTENT_LENGTH''] será 0.