> Manuales > Gestión de archivos en PHP

Cómo permitir el upload de archivos de gran tamaño desde PHP, con .htaccess.

Algunos servidores web están configurados para permitir carga de archivos hasta un tamaño determinado, en concreto hasta 2 megas. Este es un tamaño de archivo razonable, pero quizás no sirva para tu caso y quieras incrementarlo. Esto es posible a través del archivo .htaccess.

La idea no es mía, sino que la he visto en un blog para programadores de PHP llamado PHP Archive. El artículo original, del que estoy haciendo una mera traducción está publicado bajo el nombre de: Uploading large (big) files in PHP using .htaccess

Esto es lo que tienes que hacer.

Primero, debes crear un archivo .htaccess en la raíz de tu directorio de publicación, si es que no lo tienes creado ya.

Referencia: Puedes conocer lo que es el archivo .htaccess en DesarrolloWeb.com, a través de la FAQ Qué es htaccess y los enlaces que encontrarás dentro.

A continuación debes editar el archivo .htaccess para colocar el siguiente código, salvando luego el fichero.

php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 200
php_value max_input_time 200
A partir de este momento deberías poder subir al servidor archivos de hasta 20 megas de tamaño, simplemente usando el campo file de los formularios HTML y utilizando la función PHP move_uploaded_file(), tal como hacías habitualmente. Consulta el artículo Subir archivos con PHP para encontrar más referencias a este proceso.

Del código que se debía colocar en el .htaccess, verás que hemos indicado 4 parámetros con distintos valores, que podrías configurar tú mismo según tus necesidades. El primer valor (php_value upload_max_filesize) es el tamaño máximo de los ficheros que deseas que se permita subir. El segundo valor (php_value post_max_size) es el tamaño máximo del post. El tercer dato (php_value max_execution_time) es el tiempo máximo que se permite que los scripts PHP tarden en ejecutarse. El último valor indicado (php_value max_input_time) wa wl riwmpo máximo en segundos que se permite a un script para procesar datos que reciba de entrada, como ficheros que se están subiendo al servidor, datos que vienen por POST o por GET.

Así pues, con estas pequeñas reglas del htaccess, podrás subir archivos de cualquier tamaño. Sólo tienes que configurar los parámetros para que te permitan hacer el upload de ficheros del tamaño que desees.

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online Escu...

Manual