2012-06-29 12 views
23
function uncompress($srcName, $dstName) { 
    $sfp = gzopen($srcName, "rb"); 
    $fp = fopen($dstName, "w"); 

    while ($string = gzread($sfp, 4096)) { 
     fwrite($fp, $string, strlen($string)); 
    } 
    gzclose($sfp); 
    fclose($fp); 
} 

yo probamos este código, pero esto no funciona, por favor, ayúdame¿Cómo puedo extraer o descomprimir archivos gzip usando php?

Gracias

+7

Necesitamos mucho más que "no funciona" . ¿Qué hace? ¿Qué mensaje de error recibes? – meagar

+0

Su código se ve bien (fragmenta los datos en bloques de 4 kb) por lo que debe ser ligero en la RAM. ¿Qué error (s) está (n) recibiendo? – Lusitanian

+1

Obtengo nada simplemente No descomprimo ninguno de mis archivos – Farzamtm

Respuesta

50

Prueba este encontró here

//This input should be from somewhere else, hard-coded in this example 
$file_name = '2013-07-16.dump.gz'; 

// Raising this value may increase performance 
$buffer_size = 4096; // read 4kb at a time 
$out_file_name = str_replace('.gz', '', $file_name); 

// Open our files (in binary mode) 
$file = gzopen($file_name, 'rb'); 
$out_file = fopen($out_file_name, 'wb'); 

// Keep repeating until the end of the input file 
while (!gzeof($file)) { 
    // Read buffer-size bytes 
    // Both fwrite and gzread and binary-safe 
    fwrite($out_file, gzread($file, $buffer_size)); 
} 

// Files are done, close files 
fclose($out_file); 
gzclose($file); 
Cuestiones relacionadas