zlib://
bzip2://
zip://
zlib:// -- bzip2:// -- zip:// — Сжатые потоки
Описание
zlib: PHP 4.0.4 - PHP 4.2.3 (только на системах с fopencookie)
compress.zlib:// и compress.bzip2:// PHP 4.3.0 и выше
zlib: работает как gzopen() за исключением того, что этот поток может использоваться функцией fread() и другими функциями, работающими с файловой системой. Устарела начиная с PHP 4.3.0 ввиду неоднозначности при наличии файлов, содержащих ':'; используйте взамен compress.zlib://.
compress.zlib:// и compress.bzip2:// соответствуют gzopen() и bzopen() соответственно и работают даже в системах, не поддерживающих fopencookie.
ZIP-модуль добавляет обертку zip:.
Использование
- compress.zlib://file.gz
- compress.bzip2://file.bz2
- zip://archive.zip#dir/file.txt
- Функция file://() - Доступ к локальной файловой системе
- Функция http://() - Доступ к URL-адресам по протоколу HTTP(s)
- Функция ftp://() - Доступ к URL-адресам по протоколу FTP(s)
- Функция php://() - Доступ к различным потокам ввода-вывода
- Функция zlib://() - Сжатые потоки
- Функция data://() - Схема Data (RFC 2397)
- Функция glob://() - Нахождение путей, соответствующих шаблону
- Функция phar://() - PHP архив
- Функция ssh2://() - Secure Shell 2
- Функция rar://() - RAR
- Функция ogg://() - Аудио потоки
- Функция expect://() - Потоки для взаимодействия с процессами
Коментарии
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.
One-liners to gzip and ungzip a file:
copy('file.txt', 'compress.zlib://' . 'file.txt.gz');
copy('compress.zlib://' . 'file.txt.gz', 'file.txt');