CodeIgniter kullanıyorum ve dosyaları nasıl açacağımı anlayamıyorum!Bir .gz dosyasını PHP ile nasıl açabilirim?
cevap
Download the Unzip library ve eklemek veya autoload
unzip
kütüphane
$this->load->library('unzip');
Linkler öldü .. Eğer bu – fedmich
Zlib Compression uzantısı tarafından uygulanan işlevlerini kullanın.
Bu pasajı uzantısından hazır fonksiyonların bazılarını nasıl kullanılacağını gösteren:
// open file for reading
$zp = gzopen($filename, "r");
// read 3 char
echo gzread($zp, 3);
// output until end of the file and close it.
gzpassthru($zp);
gzclose($zp);
PHP kendisi gzip dosyaları ile başa çıkmak için bir dizi fonksiyonu vardır.
Yeni, sıkıştırılmamış bir dosya oluşturmak istiyorsanız, böyle bir şey olurdu.
Not: Bu, hedef dosyanın var olup olmadığını kontrol etmez, giriş dosyasını silmez veya herhangi bir hata denetimi yapmaz. Bunu üretim kodunda kullanmadan önce düzeltmelisiniz.
// This input should be from somewhere else, hard-coded in this example
$file_name = 'file.txt.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);
Not: Bu gzip sadece ilgilenir. Katranla uğraşmaz.
Bu kodu kullandım ve güncellerseniz, linkleri bulalım. sadece gz dosyasının içindeki klasörlerle nasıl çalışılacağını ve çıkarılan dosyaların çıktı klasörünün nasıl görüntüleneceğini sorar. –
@RealMan gzip yalnızca tek dosyaları destekler. Birden çok dosya için bir .tar.gz'ye ihtiyacınız var. PHP'nin katran için yerleşik destek olup olmadığı konusunda emin değilim. – Powerlord
sisteme erişimi() varsa:
system("gunzip file.sql.gz");
Çalışmalı, ancak çoğu zaman sistem() güvenlik nedeniyle devre dışı bırakılacak – fedmich
bir .gz dosya dosyaları .zip sıkıştırmasını yapabiliyor normalde yarar da sıkıştırmasını mümkün olsa bile, bir .zip dosyası farklıdır. gz dosyaları. – kiamlaluno