(PHP 4 >= 4.0.4, PHP 5)
gzencode — Сжимает строку в формате gzip
$data
[, int $level
= -1
[, int $encoding_mode
= FORCE_GZIP
]] )
Возвращает сжатую версию входных данных data
,
аналогично выводу программы gzip.
Подробности о формате GZIP см. » Формат файла GZIP. Спецификация версии 4.3 (RFC 1952).
data
Данные для сжатия.
level
Уровень сжатия. 0 - без сжатия, 9 - максимальное сжатие. Если не указано, будет использоваться уровень сжатия по умолчанию библиотеки zlib.
encoding_mode
Режим сжатия, может быть FORCE_GZIP
(по умолчанию)
или FORCE_DEFLATE
.
До PHP 5.4.0 в случае использования FORCE_DEFLATE
,
возвращалась строка, сжатая по стандартному алгоритму zlib deflate
(с заголовками zlib) после заголовка файла gzip, но без проверочной суммы crc32 в конце.
Начиная с версии PHP 5.4.0, использование константы FORCE_DEFLATE
генерирует вывод, совместимый с RFC 1950, состоящий из заголовка zlib,
сжатых данных и контрольной суммы Adler.
Сжатая строка или FALSE
в случае ошибки.
Версия | Описание |
---|---|
5.4.0 |
FORCE_DEFLATE теперь генерирует вывод, совместимый
с RFC 1950.
|
4.2.0 |
Добавлен аргумент encoding_mode
|
Возвращаемые данные будут содержать соответствующие заголовки и структуры данных как в обычном .gz-файле, например:
Пример #1 Создание файла gzip
<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>