PHP Conference Nagoya 2025

zlib://

bzip2://

zip://

zlib:// -- bzip2:// -- zip://Sıkıştırma Akımları

Açıklama

compress.zlib:// ve compress.bzip2://

zlib: akımın fread() ve diğer dosya sistemi işlevleriyle birlikte kullanılabilmesi dışında gzopen() gibi çalışır. Bu, ':' karakterleri içeren dosya adlarındankaynaklanan belirsizlikler nedeniyle kullanımdan kaldırılmıştır; yerine compress.zlib:// kullanın.

compress.zlib:// ve compress.bzip2:// sırasıyla gzopen() ve bzopen() ile eşdeğer olup fopencookie'yi desteklemeyen sistemlerde bile çalışır.

ZIP eklentisi zip: sarmalayıcı kaydeder. PHP 7.2.0 ve libzip 1.2.0+ sürümlerinden itibaren, şifrelenmiş arşivler için parola desteği eklendi ve parolaların akım bağlamları tarafından sağlanmasına izin verildi. Parolalar, 'password' akım bağlamı seçeneği kullanılarak atanabilir.

Kullanımı

  • compress.zlib://dosya.gz
  • compress.bzip2://dosya.bz2
  • zip://archive.zip#dizin/dosya.txt

Seçenekler

Sarmalayıcı Özeti
Özellik Destek
allow_url_fopen ile sınırlı Hayır
Okuma izni Evet
Yazma izni Evet (zip:// hariç)
Ekleme izni Evet (zip:// hariç)
Aynı anda okumaya ve yazmaya izin Hayır
stat() desteği Hayır, sıkıştırlmış dosyaların durum bilgilerini almak için normal file:// sarmalayıcısını kullanın.
unlink() desteği Hayır, sıkıştırlmış dosyaları silmek için normal file:// sarmalayıcısını kullanın.
rename() desteği Hayır
mkdir() desteği Hayır
Supports rmdir() Hayır

Ayrıca Bakınız

add a note

User Contributed Notes 2 notes

up
20
lewa::cpan.org
7 years ago
One-liners to gzip and ungzip a file:

copy('file.txt', 'compress.zlib://' . 'file.txt.gz');

copy('compress.zlib://' . 'file.txt.gz', 'file.txt');
up
11
alvaro at demogracia dot com
13 years ago
Example on how to read an entry from a ZIP archive (file "bar.txt" inside "./foo.zip"):

<?php

$fp
= fopen('zip://./foo.zip#bar.txt', 'r');
if(
$fp ){
while( !
feof($fp) ){
echo
fread($fp, 8192);
}
fclose($fp);
}

?>

Also, apparently, the "zip:" wrapper does not allow writing as of PHP/5.3.6. You can read http://php.net/ziparchive-getstream for further reference since the underlying code is probably the same.
To Top