使用zlib在PHP中解压缩文件?

时间:2008-12-21 19:49:57

标签: php zlib dreamhost

我的网站托管在Dreamhost上,他们只在PHP上安装了zlib。我无法弄清楚如何使用此扩展中的commom方法解压缩文件,如下所述:http://php.net/zlib

有谁知道如何在PHP上用zlib扩展名解压缩.gz或.gzip文件?那会挽救我的生命!

3 个答案:

答案 0 :(得分:2)

正如zlib's PHP binding introduction所述:

  

版本4.0.4为.gz文件引入了一个fopen-wrapper,这样你就可以使用一个特殊的zlib:URL来使用普通的f *()文件访问函数透明地访问压缩文件,如果你在文件名或路径前面使用zlib:调用fopen()时。 [...]在PHP 4.3.0中,zlib:已更改为compress.zlib://以防止包含':'字符的文件名出现歧义。

简单fopen您的文件前加compress.zlib://,并照常使用。

答案 1 :(得分:0)

The manual给出了一个很好的例子。

答案 2 :(得分:0)

GZip和Deflate在RFC 1952 (GZip)RFC 1950 (Deflate)中有解释。 GZip只是Deflate,其中包含一个标题,因此您可以解析该标头以检测zLib流的位置,并使用zLib例程对其进行解压缩。