Un problema común que se puede presentar al desarrollar un sitio PHP es la necesidad de tener formularios de carga de archivos al sitio, pero que estos formularios necesiten subir archivos extremadamente grandes (bah "extremadamente", pongamos 60 MB) y la configuración del servidor no lo permite.
Ahora bien, cuando nosotros estamos desarrollando la página (o cuando tenemos cierto control sobre el servidor), esto es una tarea muy sencilla, basta con tocar los archivos de configuración (php.ini en c:\windows\windows ó en linux Lo encontramos dentro de la distribución php en el directorio raiz bajo el nombre php.ini-recommended o php.ini-dist.) y setear las variables
post_max_size y upload_max_filesize, asignandoles los valores que uno cree conveniente.
Ahora bien, ¿que pasa cuando no podemos modificar ese archivo?. Existen casos en que uno contrata un hosting y por razones obvias no tiene acceso a esos archivos de configuración.
Es en este caso cuando la solución se presenta en forma de .htaccess
Ese archivo que se incluye dentro de la carpeta raíz en nuestro hosting (incluso se pueden poner varios .htaccess mientras esten en diferentes carpetas, teniendo de esta forma distintas configuraciones para cada carpeta) tiene la particularidad de permitir sobreescribir ciertas configuraciones por defecto del servidor web.
Entonces, agregando en dicho archivo las líneas:
php_flag file_uploads On
php_value upload_max_filesize 1073741824 //en bytes, en MB sería 1024M
php_value max_input_time 3600
php_value memory_limit 200M
php_value post_max_size 5368709120 //upload_max_filesize * 5
Podemos subir archivos "gigantes".
Un dato para tener en cuenta y los ahorre unas horas de renegar es que modificar las configuraciones mediante el .htaccess, depende de varias cosas
1º- Si el servidor esta instalado como CGI, NO van a poder usar este truquito, ya que no va a tener en cuenta lo especificado en el archivo .htaccess
(para saber si el server es CGI, basta con hacer un php que nos muestre la info del server y en donde dice "Server", si dice API - en vez de "Server" o "Apache" -, quiere decir que el servidor esta instalado como CGI).
2º- El archivo de configuracion (php.ini) debe permitir la re-escritura de reglas en el .htacess, sino lo hace, no gasten polvora en chimangos.
(Una linda página donde ven mas funciones que se pueden lograr modificando este archivo: http://www.carlosleopoldo.com/2006/06/06/acordeon-chuleta-de-htaccess/)
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario