zlib://

bzip2://

zip://

zlib:// -- bzip2:// -- zip://压缩流

描述

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

zlib: 的工作方式类似于 gzopen(),只是该流可以使用 fread() 和其他文件系统函数。 由于文件名中包含 ':' 字符会导致歧义,因此已弃用此方法;请使用 compress.zlib:// 代替。

compress.zlib://compress.bzip2:// 等效于 gzopen()bzopen(),即使在不支持 fopencookie 的系统上也能正常工作。

ZIP 扩展 注册了 zip: 包装器。 从 PHP 7.2.0 和 libzip 1.2.0+ 开始,增加了对加密存档密码的支持,允许通过流上下文提供密码。 密码可以使用 'password' 流上下文选项设置。

用法

  • compress.zlib://file.gz
  • compress.bzip2://file.bz2
  • zip://archive.zip#dir/file.txt

选项

包装器摘要
属性 支持
allow_url_fopen 限制
允许读取
允许写入 是(除了 zip://
允许追加 是(除了 zip://
允许同时读取和写入
支持 stat() 否,请使用常规的 file:// 包装器来获取压缩文件的统计信息。
支持 unlink() 否,请使用常规的 file:// 包装器来删除压缩文件。
支持 rename()
支持 mkdir()
支持 rmdir()

添加注释

用户贡献的注释 2 个注释

18
lewa::cpan.org
7 年前
用于压缩和解压缩文件的单行代码

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

copy('compress.zlib://' . 'file.txt.gz', 'file.txt');
11
alvaro at demogracia dot com
13 年前
有关如何从 ZIP 存档中读取条目的示例("./foo.zip" 内的 "bar.txt" 文件)

<?php

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

?>

此外,显然,"zip:" 包装器在 PHP/5.3.6 及更高版本中不允许写入。 您可以阅读 https://php.net/ziparchive-getstream 以供进一步参考,因为底层代码可能相同。
To Top