Dosya sıkıştırma ve açma işlemleri, PHP ile tar, gz ve bz2 formatları için uygun yöntemler ile kolaylaştırılıyor Yüksek verimlilik ve hız sunan çözümlerimiz ile dosyalarınızı daha az yer kaplaması için sıkıştırın ve ihtiyaç duyduğunuzda anında açın Detaylar için sitemizi ziyaret edin

Bu makalede, PHP kullanarak dosyaların sıkıştırılması ve açılması hakkında bilgi vereceğiz. Tar, gz ve bz2 formatlarındaki dosyaların sıkıştırma işlemi nasıl yapılır ve bu dosyalar nasıl açılır, adım adım açıklayacağız.
Bir dosyanın sıkıştırılması, dosya boyutunu azaltır ve böylece daha az disk alanı kullanır. Bu, daha hızlı ve daha etkili bir veri depolama yöntemidir. İşte, PHP ile tar, gz ve bz2 dosyalarının sıkıştırma ve açma adımları:
tar Sıkıştırma ve Açma
Bir dosyayı sıkıştırmak istediğinizde, tar sıkıştırma yöntemi oldukça popüler bir seçenektir. Tar, birden fazla dosya ve klasörü tek bir arşiv dosyasına sıkıştırmaya olanak tanır. Öncelikle, sıkıştırmak istediğiniz dosyaları bir klasöre yerleştirin. Ardından, sıkıştırılacak klasörün bulunduğu dizine gidin ve aşağıdaki kodu kullanın:
Başlık 1 | Başlık 2 |
---|---|
tar -cf arsiv.tar dosya1.txt klasor1/ | Bu kod, dosya1.txt ve klasor1 adlı klasörü arşiv.tar adlı bir dosyaya sıkıştıracaktır. |
Bir dosya arşivini açmak istediğinizde, şu kodu kullanabilirsiniz:
- tar -xf arsiv.tar
- Bu kod, arşiv.tar adlı dosyayı açacaktır.
tar yöntemi, dosyaları sıkıştırırken ve açarken oldukça kullanışlıdır. Eğer birçok dosyayı veya klasörü tek bir dosyada saklamak istiyorsanız, tar yöntemini kullanarak bunu kolayca başarabilirsiniz.
gz Sıkıştırma ve Açma
gz dosyaları, sıkıştırılmış bir dosya formatıdır ve tar arşiv dosyaları gibi birden çok dosyayı tek bir dosyada saklayabilir. PHP kullanarak, gz dosyalarını sıkıştırabilir ve açabilirsiniz.
gz dosyası sıkıştırmak için, öncelikle gzopen() işlevini kullanarak bir gz dosyası içeri aktarmalısınız. Bu işlev, bir gz dosyasını açar ve paketlenmiş bir dosya kaynağı olarak kullanılabilir. Sonra, gzwirte() işlevi ile açık olan dosyaya yazmanız gereken verileri belirtin. En sonunda, gzclose() işlevi kullanarak dosyayı kapatın.
gz dosyasını açmak için, gzopen() işlevi ile gz dosyasından gerekli verileri alabilirsiniz. Bu verileri daha sonra gzread() işlevi ile okuyabilirsiniz. Son olarak gzclose() işlevi kullanarak dosyayı kapatmanız gerekmektedir.
Burada verilen kod örneği sıkıştırılmış bir dosyaya birkaç satır metin eklemek için kullanılabilir:
Kod Örneği: |
---|
$ dosya = "ornek.txt"; $ sıkıştırılmış_dosya = $ dosya. '.gz'; $ metin = "Merhaba Dünya!"; $ dosya_oluşturma = gzopen ($ sıkıştırılmış_dosya, "wb9"); gzwrite ($ dosya_oluşturma, $ metin); gzclose ($ dosya_oluşturma); |
Ayrıca, gz sıkıştırma ve açma işlemleri için try-catch blokları kullanarak hata ayıklama yapmanızda fayda vardır.
gz Sıkıştırma
Bu bölümde gz dosyalarının nasıl sıkıştırılacağı hakkında bilgiler vereceğiz. Öncelikle, gz formatında dosya sıkıştırmak için PHP'nin zlib kütüphanesi kullanılır. Bu kütüphane PHP'nin bir parçasıdır, bu nedenle bu özelliği kullanmak için PHP kurulumunuzda zlib kütüphanesinin yüklü olması gerekir.
gz sıkıştırma işlemi, dosya içeriğini sıkıştırıp daha küçük bir boyuta getirerek diskinizde yer tasarrufu sağlar. Ayrıca, sıkıştırılmış dosyaların indirilmesi veya aktarılması da daha hızlı olur.
Aşağıdaki kod örneği, gz sıkıştırma işlemini gerçekleştirmek için kullanılır:
Parametre | Açıklama |
---|---|
filename | Sıkıştırılacak dosyanın adı |
level | Sıkıştırma seviyesi, 0 en düşük seviye, 9 en yüksek seviyedir |
function gzCompress($source, $level = 9){ $dest = $source . '.gz'; $mode = 'wb' . $level; $error = false; if ($fpOut = gzopen($dest, $mode)) { if ($fpIn = fopen($source,'rb')) { while (!feof($fpIn)) gzwrite($fpOut, fread($fpIn, 1024 * 512)); fclose($fpIn); } else { $error = true; } gzclose($fpOut); } else { $error = true; } if ($error) { return false; } else { return $dest; }}
Yukarıdaki örnek kod, gzCompress() adlı bir fonksiyon içerir, sıkıştırılacak dosyanın adı ve sıkıştırma seviyesi gibi parametreler alır. Bu fonksiyon, sıkıştırılmış dosyayı kaydeder ve dosyanın adını döndürür.
Gz sıkıştırma işleminden sonra, sıkıştırılmış dosyayı açmak için gzopen() fonksiyonu kullanılabilir:
function gzDecompress($source){ $dest = substr($source,0,-3); $error = false; if ($fpIn = gzopen($source,'rb')) { if ($fpOut = fopen($dest, 'wb')) { while (!gzeof($fpIn)) fwrite($fpOut, gzread($fpIn, 1024 * 512)); fclose($fpOut); } else { $error = true; } gzclose($fpIn); } else { $error = true; } if ($error) { return false; } else { return $dest; }}
gzDecompress() adlı fonksiyon, sıkıştırılmış dosyayı açar ve açılan dosyanın adını döndürür.
gz Sıkıştırma Örneği
gz dosyası sıkıştırma işlemi, PHP'nin gzcompress() işlevi kullanılarak gerçekleştirilebilir.
Aşağıdaki örnek, verilen dosyayı sıkıştıracak ve yeni bir gz dosyası oluşturacaktır:
$dosya = 'ornek_dosya.txt';$sikistirilmis_dosya = $dosya . '.gz';//Dosyayı oku$icerik = file_get_contents($dosya);//Sıkıştırılmış içeriği yazdırfile_put_contents($sikistirilmis_dosya, gzcompress($icerik, 9));
- İlk olarak, sıkıştırılacak dosya örneğimiz "ornek_dosya.txt" olarak belirlenir.
- Daha sonra, sıkıştırılmış dosya "ornek_dosya.txt.gz" olarak tanımlanır.
- Dosya içeriği file_get_contents() işlevi kullanılarak okunur.
- Sıkıştırılmış içerik gzcompress() işlevi kullanarak oluşturulur ve file_put_contents() işlevi kullanarak yeni dosya oluşturulur.
Bu yöntem, sıkıştırılmış dosya için en yüksek sıkıştırma oranını sağlar ve 9 seviyesinde sıkıştırma kalitesi ayarlanabilir. Sıkıştırılmış dosya boyutu, orijinal dosya boyutundan çok daha küçük olabilir.
gz Açma Örneği
Gz sıkıştırılmış bir dosyayı açmak için PHP kullanarak kolay ve hızlı bir şekilde yapabilirsiniz. Öncelikle gz dosyanızı açmadan önce hangi dizinde açacağınızı belirlemelisiniz. Daha sonra gz açma işlemi için "gzopen()" fonksiyonunu kullanabilirsiniz. Bu fonksiyon, gz dosyasını açmak ve dosyanın içeriğini okumak için kullanılır.
Aşağıdaki örnek kod bloğunda, "gzopen()" fonksiyonu kullanılarak 'example.gz' adlı gz dosyası açılmaktadır. Ardından, dosya içeriği okunuyor ve ekrana yazdırılıyor.
```php$dosya = gzopen('example.gz', 'r');if ($dosya) { while (!gzeof($dosya)) { $icerik = gzgets($dosya, 4096); echo $icerik; } gzclose($dosya);}```
Yukarıdaki kod bloğunda, "gzopen()" fonksiyonu ile 'example.gz' adlı dosya açılıyor. Ayrıca, "r" parametresiyle, dosyanın okunarak açılacağı belirtiliyor. Daha sonra, "while" döngüsü kullanılarak, dosyanın sonuna kadar satır satır okunuyor. Okunan her satır da "echo" fonksiyonuyla ekrana yazdırılıyor. Son olarak, "gzclose()" fonksiyonu kullanılarak dosya kapatılıyor.
Bu şekilde, gz sıkıştırılmış dosyanızı açarak içeriğine erişebilirsiniz. Ayrıca, bu yöntemi kullanarak dosya içeriğini değiştirebilir veya farklı bir dizine kaydedebilirsiniz.
bz2 Sıkıştırma ve Açma
Bz2, diğer sıkıştırma yöntemleri gibi sıkıştırma oranını arttıran bir yöntemdir. Bu yöntem, compress işlevi yerine bzip2() işlevi kullanılarak gerçekleştirilir. Bz2 işlevi, dosyaları sıkıştırmak veya açmak için kullanılabilir.
Bz2 sıkıştırma işlemi için, öncelikle dosya yolunun belirtilmesi gereklidir. daha sonra fopen işlevi kullanılarak dosya açılır. Ardından, bzcompress işlevi dosya içeriğini sıkıştırır ve gzwrite işlevi ile sıkıştırılmış veriler belirtildiği dosyaya yazılır.
Bz2 dosyası açmak için, öncelikle fopen işlevi kullanılarak dosya açılır. Dosya içeriği, fread işlevi kullanılarak okunur ve bzdecompress işlevi ile açılır. Son olarak, fclose işlevi ile dosya kapatılır.
Bz2 sıkıştırma ve açma PHP kodları, benzer sıkıştırma yöntemleri gibi kullanıcıya farklı bir kullanım deneyimi sunar. Bu yöntem, büyük boyutlu dosyaların sıkıştırılması veya açılmasında oldukça faydalıdır.
Zip Sıkıştırma ve Açma
ZIP dosyaları, sıkıştırılmış dosyalar için en popüler dosya formatlarından biridir. Bu nedenle, PHP kullanarak bu dosyaların nasıl sıkıştırılıp açılacağı, herhangi bir web projesi için yararlı olabilecek bir beceridir.
ZIP dosyası sıkıştırılması için, "zip" uzantısını kullanan bir dosya şekline sokulması gerekir. Bunun için, PHP'nin ZipArchive sınıfını kullanabiliriz. Öncelikle, ZipArchive sınıfını dahil etmek için aşağıdaki kodu kullanarak uygulamamıza başlayalım:
$zip = new ZipArchive(); $filename = "example.zip"; if ($zip->open($filename, ZipArchive::CREATE) === TRUE) { $zip->addFromString("file.txt", "İlk dosya içeriği"); $zip->addFromString("file.xml", "İkinci dosya içeriği"); $zip->close(); echo "Zip dosyası oluşturuldu - $filename"; } else { echo "Zip dosyası oluşturma hatası"; }
Bu kodda "example.zip" isimli bir zip dosyası oluşturuyoruz. $zip-> addFromString() fonksiyonu, içerisine dosya adını ve içeriğini alarak sıkıştırılmış ZIP dosyasına ekler. Daha sonra, $zip->close() fonksiyonuyla oluşturulan zip dosyasını kapatıyoruz. Sonunda, dosya adı ve başarılı bir şekilde oluşturulduğunu bildiren bir mesaj yazdıran bir if-else döngüsü yazıyoruz.
Zip dosyası açma işlemi oldukça basittir. Aşağıdaki kodu kullanarak, bir ZIP dosyasını açabilir ve dosya adlarını görüntüleyebilirsiniz:
$zip = new ZipArchive; if ($zip->open('example.zip') === TRUE) { for($i = 0; $i < $zip->numFiles; $i++) { echo $zip->getNameIndex($i); echo "
"; } $zip->close(); } else { echo 'Zip dosyası açma hatası'; }
Bu kodda, $zip->open() fonksiyonu kullanarak "example.zip" isimli bir zip dosyası açıyoruz. Daha sonra, $zip->numFiles fonksiyonu ile zip dosyasındaki dosya sayısını öğreniyoruz ve $zip->getNameIndex() fonksiyonunu kullanarak dosya adlarını döngü yardımıyla görüntülüyoruz. Son olarak, $zip->close() fonksiyonu ile ZIP dosyasını kapatıyoruz. Eğer zip dosyası açılamazsa geeçersiz bir işlem hatası uyarısıyla karşılaşırız.
Bu basit adımları tamamlayarak, PHP kullanarak zip dosyalarını sıkıştırma ve açma işlemlerini kolayca gerçekleştirebilirsiniz.
Zip Sıkıştırma
Zip sıkıştırma işlemi, dosyaları tek bir zip dosyası içinde sıkıştırmak ve daha sonra kullanıcı tarafından açılabilmesi için dosyaları açma işlemidir. PHP kullanarak zip dosyaları sıkıştırmak oldukça basittir.
ZipArchive sınıfı, PHP'de zip dosyalarının oluşturulması, sıkıştırılması ve açılması için kullanılan ana sınıftır.
Bir önceki örnek kod bloğunda olduğu gibi, zip dosyalarını oluşturmak ve dosyaları zip dosyalarına eklemek için önce ZipArchive nesnesi oluşturulmalıdır. Bir zip dosyası oluşturmak için, ZipArchive::open yöntemi yazılmalıdır ve açılacak zip dosyasının adı bu yönteme aktarılmalıdır. Daha sonra, ZipArchive::addFile yöntemi kullanılarak dosyalar zip dosyasına eklenmelidir. Sıkıştırma işlemi tamamlandıktan sonra, ZipArchive::close yöntemi kullanılarak zip dosyası kapatılmalıdır.
Aşağıdaki örnek kod bloğu, zip dosyalarını nasıl sıkıştıracağınızı göstermektedir.
<?php$zip = new ZipArchive(); $filename = "example.zip"; if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) { exit("Hata Oluştut");} $zip->addFile("file1.txt");$zip->addFile("file2.txt");$zip->addFile("file3.txt"); echo "Başarılı sıkıştırma! Dosyanın adı: $filename"; $zip->close();?>
Zip Sıkıştırma Örneği
Zip sıkıştırma işlemi yapmak için, PHP'nin ZipArchive sınıfı kullanılabilir. Dosyaları zip arşivine eklemek için create() fonksiyonu ve addFile() fonksiyonları kullanılır.
İlk olarak, ZipArchive sınıfını dahil etmek için aşağıdaki kod bloğu kullanılmalıdır:
<?php $zip = new ZipArchive(); $filename = "archived_files.zip"; if($zip->open($filename, ZipArchive::CREATE)!==TRUE) { exit("Cannot create $filename"); } $zip->addFile("file1.txt", "file1.txt"); $zip->addFile("file2.txt", "file2.txt"); $zip->addFile("file3.txt", "file3.txt"); $zip->close();?>
Burada, $zip değişkeni ZipArchive sınıfından örneği oluştururken $filename değişkeni oluşturulan zip dosyasının adıdır. Eğer dosya mevcut değilse create() fonksiyonu ile dosya yaratılır. Bu işlemden sonra addFile() fonksiyonları ile dosyalar zip arşivine eklenir ve zip dosyası kapatılır.
Ayrıca, dosyaları farklı isimlerle arşive ekleyebilirsiniz. Yukarıdaki örnekte tüm dosyaların isimleri aynıdır, fakat isimleri farklı olan dosyalar da ekleyebilirsiniz. Örneğin:
<?php $zip = new ZipArchive(); $filename = "archived_files.zip"; if($zip->open($filename, ZipArchive::CREATE)!==TRUE) { exit("Cannot create $filename"); } $zip->addFile("file1.txt", "first_file.txt"); $zip->addFile("file2.txt", "second_file.txt"); $zip->addFile("file3.txt", "third_file.txt"); $zip->close();?>
Bu örnekte, dosyalar "first_file.txt", "second_file.txt" ve "third_file.txt" isimleriyle zip arşivine eklenir.
Böylece, PHP kullanarak zip sıkıştırma işlemi yapmak oldukça kolaydır ve ZipArchive sınıfı bunun için oldukça kullanışlı bir araçtır.
Zip Açma Örneği
Zip dosyalarının açılması da sıkıştırma işlemine benzer bir süreç izler. Aşağıda yer alan örnek kod blokları kullanarak zip dosyasını açabilirsiniz:
- Kod Bloku:
$zip = new ZipArchive; |
$zip->open('example.zip'); |
$zip->extractTo('/my/folder/'); |
$zip->close(); |
Bu örnek kod bloklarında ilk olarak bir ZipArchive
sınıfı nesnesi oluşturuluyor. Ardından, open()
fonksiyonu ile zip dosyası açılıyor ve extractTo()
fonksiyonu ile dosya içeriği /my/folder/ adındaki klasöre çıkartılıyor. Son olarak, close()
fonksiyonu ile zip dosyası kapatılıyor.
Ayrıca, aşağıdaki örnek kod blokları da zip dosyasının açılması ile ilgili farklı bir yöntem sunmaktadır:
- Kod Bloku:
$zip = new ZipArchive; |
$zip->open('example.zip'); |
for ($i=0; $i<$zip->numFiles; $i++) { |
$stat = $zip->statIndex($i); |
$filename = $stat['name']; |
$zip->extractTo('/my/folder/', $filename); |
} |
$zip->close(); |
Bu örnek kod bloklarında zip dosyası içerisinde yer alan tüm dosyalar, önce statIndex()
fonksiyonu yardımıyla tespit ediliyor. Daha sonra, extractTo()
fonksiyonu ile dosya içeriği /my/folder/ adındaki klasöre çıkartılıyor. Son olarak, close()
fonksiyonu ile zip dosyası kapatılıyor.