Разархивировать файлы в PHP с помощью zlib? - PullRequest
1 голос
/ 21 декабря 2008

Мой веб-сайт размещен на Dreamhost, и там они устанавливают zlib только вместе с PHP. Я не мог понять, как разархивировать файлы с помощью методов commom из этого расширения, как описано здесь: http://php.net/zlib

Кто-нибудь знает, как мне разархивировать файл .gz или .gzip с расширением zlib на PHP? Это спасло бы мою жизнь!

Ответы [ 3 ]

2 голосов
/ 21 декабря 2008

Как написано в введение в zlib для PHP-связывания :

Версия 4.0.4 представила fopen-обертку для .gz-файлов, так что вы можете использовать специальный zlib: URL для прозрачного доступа к сжатым файлам, используя обычные функции доступа к файлу f * (), если вы префикс имени файла или пути с zlib: при вызове fopen (). [...] В PHP 4.3.0 zlib: был изменен на compress.zlib: //, чтобы избежать двусмысленности с именами файлов, содержащими символы «:».

Просто fopen ваш файл с добавлением compress.zlib:// и используйте его как обычно.

0 голосов
/ 21 декабря 2008

GZip и Deflate описаны в RFC 1952 (GZip) и RFC 1950 (Deflate) . GZip - это просто Deflate с описанным там заголовком, так что вы можете проанализировать этот заголовок, чтобы определить, где находится поток zLib, и распаковать его с помощью подпрограмм zLib.

0 голосов
/ 21 декабря 2008

Руководство дает довольно хороший пример.

...