Sıkıştırılmış dosya üzerinden PHP sıkıştırmasını script ve döngü gerekecektir

2 Cevap php

Ben gzip'li birkaç xml dosyaları açmak ve ayrıştırmak için oldukça düz ileri komut dosyası kullanıyorum. Ben de bir ZIP dosyası ile aynı temel işlemi yapmak gerekir. Basit olmalıdır gibi görünüyor, ama ben her yerde eşdeğer kod neye benzediğini bulmak mümkün olmamıştır.

İşte ben zaten yapıyorum ne basit versiyonu:

$import_file = "source.gz";

$sfp = gzopen($import_file, "rb");  /////  OPEN GZIPPED data
while ($string = gzread($sfp, 4096)) {    //Loop through the data

    /// Parse Output And Do Stuff with $string
}
gzclose($sfp);      

Ne bir sıkıştırılmış dosya için aynı şeyi yapardı?

2 Cevap

PHP varsa 5> = 5.2.0, PECL zip> = 1.5.0 sonra ZipArchive kütüphaneleri kullanabilirsiniz:

$zip = new ZipArchive; 
if ($zip->open('source.zip') === TRUE) 
{ 
     for($i = 0; $i < $zip->numFiles; $i++) 
     {   
        $fp = $zip->getStream($zip->getNameIndex($i));
        if(!$fp) exit("failed\n");
        while (!feof($fp)) {
            $contents = fread($fp, 8192);
            // do some stuff
        }
        fclose($fp);
     }
} 
else 
{ 
     echo 'Error reading zip-archive!'; 
} 

Belki bu kütüphane kullanımı - ZZIPLib

Burada örnek - http://www.timlinden.com/blog/website-development/unzip-files-with-php/