Foros del Web » Programando para Internet » PHP »

comprimir archivo

Estas en el tema de comprimir archivo en el foro de PHP en Foros del Web. Hola compañeros, muchos saludos. Espero me puedan ayudar, tengo un script para comprimir archivos llamado zipfile, el cual lo encontre en esta pagina: http://blog.unijimpe.net/crear-archivos-zip-con-php/ Dicho ...
  #1 (permalink)  
Antiguo 25/03/2010, 20:56
 
Fecha de Ingreso: septiembre-2008
Mensajes: 152
Antigüedad: 15 años, 6 meses
Puntos: 1
Exclamación comprimir archivo

Hola compañeros, muchos saludos.
Espero me puedan ayudar, tengo un script para comprimir archivos llamado zipfile, el cual lo encontre en esta pagina:
http://blog.unijimpe.net/crear-archivos-zip-con-php/
Dicho script funciona perfecto pero el problema es que solo zipea archivos de 2 MB o menos, y el problema es que el archivo que necesito zipear es de 22 MB ojala me puedan ayudar, he estado buscando bastante en la WEB y no encuentro nada que me puedo ayudar.

De antemano muchas gracias y saludos a todos
  #2 (permalink)  
Antiguo 25/03/2010, 21:13
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: comprimir archivo

Escribe lo que hayas hecho, para que te puedan ayudar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 25/03/2010, 21:22
 
Fecha de Ingreso: septiembre-2008
Mensajes: 152
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: comprimir archivo

Muy bien mira lo primero que hago es crear un archivo csv de una tabla de la base de datos que tiene aprox 140000 registros con esta clase
csv.php
Código PHP:
<?php
function exportMysqlToCsv($table,$filename 'export.csv')
{
    
$csv_terminated "\r\n";
    
$csv_separator ";";
    
$csv_enclosed '"';
    
$csv_escaped "\\";
    
$sql_query "select * from $table";
 
    
// Gets the data from the database
    
$result mysql_query($sql_query);
    
$fields_cnt mysql_num_fields($result);
 
 
    
$schema_insert '';
 

    
// Format the data
    
while ($row mysql_fetch_array($result))
    {
        
$schema_insert '';
        for (
$j 0$j $fields_cnt$j++)
        {
            if (
$row[$j] == '0' || $row[$j] != '')
            {
 
                if (
$csv_enclosed == '')
                {
                    
$schema_insert .= $row[$j];
                } else
                {
                    
$schema_insert .= $csv_enclosed 
                    
str_replace($csv_enclosed$csv_escaped $csv_enclosed$row[$j]) . $csv_enclosed;
                }
            } else
            {
                
$schema_insert .= '';
            }
 
            if (
$j $fields_cnt 1)
            {
                
$schema_insert .= $csv_separator;
            }
        } 
// end for
 
        
$out .= $schema_insert;
        
$out .= $csv_terminated;
        
    } 
// end while
    
readdir;
    
$fp=fopen("REGISTROS.,sv","w+");
    
fwrite($fp,$out);
  
}
?>
Este script me genera un archivo llamado REGISTROS.csv que pesa 22MB, lo que necesito es bajarlo zipeado y lo intento hacer con este script que como les cometaba si funciona pero solo para archivos de 2MB máximo
zipear.php
Código PHP:
<?
require("zipfile.php");

$host 'localhost'// MYSQL database host adress
$db 'registros'// MYSQL database name
$user 'total'// Mysql Datbase user
$pass '123456'// Mysql Datbase password
 
// Connect to the database
$link mysql_connect($host$user$pass);
mysql_select_db($db);
 

$zipfile = new zipfile();
    
$zipfile->add_dir("bd/");
    
$zipfile->add_file(implode("",file("REGISTROS.csv")), "REGISTROS.csv");
     
    
header("Content-type: application/octet-stream");
    
header("Content-disposition: attachment; filename=BD.zip");
    echo 
$zipfile->file(); 

?>
La clase que mando llamar (zipfile.php) es la que se muestra en en link que puse cuando inicie el tema. Pues bien al ejecutar el script zipear.php no me muestra ningun error solo me dice el explorar que no puene abrir la pagina porque hubo un rpoblema con el servidor, les comnento que con le mismo codigo envio un archivo de +/- 1MB y funciona a la perfeccion, eso es lo que eh echo hasta ahora

Espero me puedan ayudar

Etiquetas: comprimir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:42.