2012-06-29 8 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); 
} 

habe ich versucht, diesen Code, aber das funktioniert mich nicht bitte helfenWie kann ich gzip Datei mit PHP extrahieren oder dekomprimieren?

Danke

+7

Wir brauchen viel mehr als „es funktioniert nicht“ . Was tut es? Welche Fehlermeldungen erhalten Sie? – meagar

+0

Ihr Code sieht gut aus (es teilt die Daten in 4-KB-Blöcken auf), also sollte es im RAM hell sein. Welche Fehler bekommen Sie? – Lusitanian

+1

Ich bekomme nichts einfach Ich entpacke keine meiner Dateien – Farzamtm

Antwort

50

Versuchen Sie, diese gefunden 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);