Upload de archivos > 2Mb (PHP)

Subir archivos a un servidos es una de las tareas más comunes en el desarrollo de aplicaciones con PHP del cual hemos comentado en Upload de Archivos con PHP, normalmente los archivos que suben son como máximo 2Mb. Pero hay problemas cuando se quieren subir archivos de mayor tamaño, para ello veremos algunos métodos para resolver este inconveniente.

Que debemos configurar
El archivo php.ini contiene los parámetros de configuración de PHP, entre ellas los parámetros relacionados para subir archivos, estas propiedades son:

  • post_max_size: tamaño máximo de datos enviados por POST.
  • upload_max_filesize: tamaño máximo para subir archivos.
  • max_execution_time: tiempo máximo de ejecución de cada script en segundos.
  • max_input_time: tiempo máximo para analizar la petición de datos.

Primer Método: Configurando php.ini
La primera forma para habilitar el upload de archivos grandes es editar el archivo php.ini. Entonces, abrimos el archivo php.ini y cambiamos los parámetros deseados, en nuestro caso habilitamos un máximo de 100 Mb de tamaño a subir y un tiempo máximo de 1000 segundos:

  1. ;;;;;;;;;;;;;;;;;;;
  2. ; Resource Limits ;
  3. ;;;;;;;;;;;;;;;;;;;
  4. max_execution_time = 1000
  5. max_input_time = 1000
  1. ; Maximum size of POST data that PHP will accept.
  2. post_max_size = 100M
  1. ; Maximum allowed size for uploaded files.
  2. upload_max_filesize = 100M

Segundo Método: Configurando .htaccess
La segunda forma de cambiar la configuración es con la ayuda del archivo .htaccess, para ello creas un archivo llamado .htaccess en la raiz de tu servidor web, luego dentro de este archivo colocas lo siguiente:

  1. php_value upload_max_filesize 100M
  2. php_value post_max_size 100M
  3. php_value max_execution_time 1000
  4. php_value max_input_time 1000

Tercer Método: Configurando en el script php
La tercera forma es cambiar los parámetros de configuración directamente en nuestro script php, para ello haremos uso de la función ini_set que permite sobrescribir la configuración general, entonces al inicio de nuestro script que se encargará de procesar los archivos subidos colocamos:

  1. <?php
  2. ini_set(‘post_max_size’,‘100M’);
  3. ini_set(‘upload_max_filesize’,‘100M’);
  4. ini_set(‘max_execution_time’,‘1000’);
  5. ini_set(‘max_input_time’,‘1000’);
  6. // script de upload
  7. ?>

A mi parecer la segunda forma es la mas practica pues solo creamos un archivo y con ello habilitamos la opción de upload para archivos grandes, además en todos los hosting comerciales es posible crear el archivo .htaccess.

Anuncios

One Response to Upload de archivos > 2Mb (PHP)

  1. Hugo Zacarías dice:

    Excelente!, funciona a la perfección.

    Muchas gracias.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: