gzencode

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gzencodeСоздать сжатую строку gzip

Описание

gzencode(string $data, int $level = -1, int $encoding = ZLIB_ENCODING_GZIP): string|false

Эта функция возвращает сжатую версию входных данных data, аналогично выводу программы gzip.

Подробности о формате GZIP смотрите » Формат файла GZIP. Спецификация версии 4.3 (RFC 1952).

Список параметров

data

Данные для кодирования.

level

Уровень сжатия. 0 - без сжатия, 9 - максимальное сжатие. Если не указано, будет использоваться уровень сжатия по умолчанию библиотеки zlib.

encoding

Режим сжатия, может быть FORCE_GZIP (по умолчанию) или FORCE_DEFLATE.

Использование константы FORCE_DEFLATE генерирует вывод, совместимый с RFC 1950, состоящий из заголовка zlib, сжатых данных и контрольной суммы Adler.

Возвращаемые значения

Сжатая строка или false в случае возникновения ошибки.

Примеры

Возвращаемые данные будут содержать соответствующие заголовки и структуры данных как в обычном .gz-файле, например:

Пример #1 Создание файла gzip

<?php
$data
= file_get_contents("bigfile.txt");
$gzdata = gzencode($data, 9);
file_put_contents("bigfile.txt.gz", $gzdata);
?>

Смотрите также

add a note

User Contributed Notes 1 note

up
13
Sam Dowling
13 years ago
this is a benchmark test of gzencode (.txt file)
----------------------------------------------
original file size = 3.29 MB (3,459,978 bytes)
compress lvl 1 = 1.09 MB (1,144,006 bytes)
compress lvl 2 = 1.06 MB (1,119,518 bytes)
compress lvl 3 = 1.03 MB (1,085,567 bytes)
compress lvl 4 = 953 KB (976,538 bytes)
compress lvl 5 = 909 KB (931,486 bytes)
compress lvl 6 = 910 KB (932,516 bytes)
compress lvl 7 = 910 KB (932,608 bytes)
compress lvl 8 = 910 KB (932,646 bytes)
compress lvl 9 = 910 KB (932,652 bytes)
----------------------------------------------
To Top