我的网站托管在 Dreamhost 上,他们只安装了 zlib 和 PHP。我无法弄清楚如何使用此扩展中的常用方法解压缩文件,如下所述:http: //php.net/zlib
有谁知道如何在 PHP 上解压缩带有 zlib 扩展名的 .gz 或 .gzip 文件?那会救我的命!
我的网站托管在 Dreamhost 上,他们只安装了 zlib 和 PHP。我无法弄清楚如何使用此扩展中的常用方法解压缩文件,如下所述:http: //php.net/zlib
有谁知道如何在 PHP 上解压缩带有 zlib 扩展名的 .gz 或 .gzip 文件?那会救我的命!
正如zlib 的 PHP 绑定介绍中所写:
4.0.4 版为 .gz 文件引入了 fopen 包装器,因此您可以使用特殊的 zlib: URL 来透明地使用普通的 f*() 文件访问函数访问压缩文件,前提是您在文件名或路径前加上 zlib:调用 fopen() 时。[...] 在 PHP 4.3.0 中,zlib: 已更改为 compress.zlib:// 以防止包含 ':' 字符的文件名出现歧义。
只需fopen
将您的文件放在compress.zlib://
前面,然后照常使用它。
手册给出了一个很好的例子。
GZip 和 Deflate 在RFC 1952 (GZip)和RFC 1950 (Deflate)中进行了解释。GZip 只是 Deflate,其中描述了一个标头,因此您可以解析该标头以检测 zLib 流的位置并使用 zLib 例程对其进行解压缩。