Está en la página 1de 3

MPCH | Gerencia de Tecnologa y Comunicaciones

AUMENTO DE TAMAO PARA CARGA DE ARCHIVOS


PHP: WINDOWS Y LINUX: En el php.ini file_uploads = On // en On max_execution_time = 120 // los segundos que consideren max_input_time = 120 // los segundos que consideren memory_limit = 16M // por lo regular el mismo tamao del archivo a subir o quizas mas upload_tmp_dir = /xyz // su directorio temporal con permisos de R/W post_max_size = 10M // el tamao maximo de su archivo a subir upload_max_filesize = 10M // el tamao maximo de su archivo a subir *** Hacer restricciones en su cdigo a cerca del tamao mximo de los archivos que quieren subir (para ver que en realidad sube a MySQL o NO) SI LO VAN A HACER EN LINUX: consideren lo siguiente: PHP: si no tienen este archivo (php.conf) en este directorio (conf.d) HAY QUE CREARLO: Yo lo he creado aqui: /usr/local/apache2/conf.d/php.conf con el siguiente contenido en el php.conf: # PHP Configuration for Apache # Load the apache module #LoadModule php4_module modules/libphp4.so # Cause the PHP interpreter handle files with a .php extension. ### ESTO SER LO IMPORTANTE <Files *.php> SetOutputFilter PHP SetInputFilter PHP LimitRequestBody 10240000 // PARA 10MB o + </Files> ### LO ANTERIOR FUE LO IMPORTANTE AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps # Add index.php to the list of files that will be served as directory # indexes. DirectoryIndex index.php APACHE: DENTRO DEL httpd.conf del Apache incluir el archivo que creamos de la siguiente manera como lo indico: ... Listen 80

Ing. Jos Antonio De La Cruz Gmez

MPCH | Gerencia de Tecnologa y Comunicaciones


# Dynamic Shared Object (DSO) Support # To be able to use the functionality of a module which was built as a DSO you ... LoadModule php4_module modules/libphp4.so ### ASI LO INCLUYEN Include conf.d/*.conf ... REINICIAN EL APACHE: /usr/local/apache2/bin/ ./apachectl restart MYSQL: WINDOWS: Busquen el archivo de configuracin de Mysql; se puede llamar as: my.ini y lo configuran: //my.ini en mi caso y est en c:\windows\my.ini y agregarle la siguiente lnea: set-variable = max_allowed_packet=10M // para 10MB la siguiente lnea solo la descomente(le quite el #): set-variable=key_buffer=10M pero con la de arriba es mas que suficiente ya que lo comprobe, aunque al final deje la de abajo tambin configurada. LINUX: Hacer lo mismo que en Windows solo que haora el archivo se llama: my.cnf o my.cfg o my.conf busquenlo desde la consola asi: locate my.cnf si no lo encuentra el sistema busquenlo ustedes mismos, debe de estar ubicado en: /etc/my.cnf; una vez localizado lo configuramos: en la seccin [mysqld] editamos o agregamos (segn su caso): key_buffer = 16M max_allowed_packet = 10M // los 10 MB table_cache = 64 sort_buffer_size = 10M // Yo lo deje asi read_buffer_size = 10M // Yo lo deje asi myisam_sort_buffer_size = 8M OJO: mysql tiene por default 4 archivos de configuracin para que los editemos y estos son y estan en: /usr/local/mysql/support-files/ my-huge.cnf my-large.cnf my-medium.cnf my-small.cnf CHEQUENLOS Y PUEDEN EDITARLOS LES ACONSEJO QUE LO HAGAN UNICAMENTE EN LA SECCIN de [mysqld]

Ing. Jos Antonio De La Cruz Gmez

MPCH | Gerencia de Tecnologa y Comunicaciones


*** EN DADO CASO DE QUE NO HAYAN ENCONTRADO EL ARCHIVO my.cnf (como fue mi caso) hay que crearlo o copiarlo asi: cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf COMO LES DIJE ARRIBA ESA ES LA RUTA EN LA QUE DEBE DE ESTAR: /etc/my.cnf. Apartir de hay, modifican lo que les comento, pero principalmente estas 2 lineas: key_buffer = 16M max_allowed_packet = 10M // los 10 MB REINICIAN EL MYSQL: /etc/init.d/ ./mysql.server stop ./mysql.server start ASI ES QUE SI USTEDES QUIEREN SUBIR ARCHIVOS A MYSQL MAYORES A 1 MB CON LO ANTERIOR LO PUEDEN RESOLVER YA QUE YO LO HE RESUELTO AS, Y PRINCIPALMENTE PARA AQUELLOS QUE OCUPEN CDIGO SIMILAR AL SIGUIENTE: <? $archivo = $_FILES["archivito"]["tmp_name"]; $tamanio = $_FILES["archivito"]["size"]; $tipo = $_FILES["archivito"]["type"]; $nombre = $_FILES["archivito"]["name"]; $titulo = $_POST["titulo"]; if ( $archivo != "none" ) { $fp = fopen($archivo, "rb"); $contenido = fread($fp, $tamanio); $contenido = addslashes($contenido); fclose($fp); $qry = "INSERT INTO archivos ... para los que NO quieran subir archivos a MySQL sino que los quieran subir a su disco duro solo configuren lo basico que encuentran en este mismo foro y con eso jala, les dejo el codigo, probado en WINDOWS/LINUX: $upload = $_FILES[upload]; $upload_tmp = $_FILES['archivoCor']['tmp_name']; $upload_name = $_FILES['archivoCor']['name']; $destino ="{$_SERVER['DOCUMENT_ROOT']}/pentiumonce/".$areaArt."/{$_FILES['archivoCor']['name']}"; move_uploaded_file($upload_tmp,$destino) or DIE("Upload incorrecto"); echo "<BR><BR><BR>Archivo cargado correctamente";

Ing. Jos Antonio De La Cruz Gmez

También podría gustarte