压缩封装协议

介绍

  • 在PHP中,zlib://,bzip2://和zip://代表各个压缩流的包装器。
  • compress:zlib://
    • 此功能类似于gzopen()函数,但是可以与fread()等文件系统功能一起使用。
  • compress://bzip2
    • 这类似于bzopen()函数。两种流包装器都可以在不支持fopencookie的系统上运行。
  • zip://
    • ZIP扩展名注册了该包装器。从PHP 7.2.0开始,支持使用密码加密的档案。可以使用密码上下文选项设置密码。

举例

# zlib压缩可以与以下PHP代码一起应用

file_put_contents("compress.zlib://test.txt.gz","Hello World\r\n");

# 解压

echo file_get_contents("compress.zlib://test.txt.gz");

# 我们还可以使用内置的copy()函数来构建压缩的zlib文件并将其解压缩

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

# 当然, 也可以直接输出到终端

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