Como enviar archivos mayores a 2 megas con PHP?

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. ?>

 

Fuente: Inijimpe