deflate_init
(PHP 7)
deflate_init — Инициализировать контекст инкрементального сжатия
Описание
Инициализирует контекст инкрементального сжатия с использованием указанной кодировки
encoding.
Обратите внимание, что опция window задает только
размер окна алгоритма, в отличие от фильтров zlib, где одноименная
опция также используется для установки используемой кодировки; кодировка
должна быть установлена с помощью параметра encoding.
Ограничения: в текущий момент невозможно установить информацию заголовка для сжатого
потока GZIP, которая устанавливается следующим образом: подпись GZIP (\x1f\x8B);
метод сжатия (\x08 == DEFLATE); 6 нулевых байтов;
текущая операционная система (\x00 = Windows,
\x03 = Unix и т.д.)
Список параметров
-
encoding -
Одна из констант
ZLIB_ENCODING_*. -
options -
Ассоциативный массив, который может содержать следующие элементы:
- level
-
Уровень сжатия в диапазоне -1..9; по умолчанию -1.
- memory
-
Уровень памяти сжатия в диапазоне 1..9; по умолчанию 8.
- window
-
Размер окна zlib (логарифмический) в диапазоне
8..15; по умолчанию15. zlib изменяет размер окна с8на9, а с zlib 1.2.8 будет выдавать предупреждение, если запрашивается размер окна равный8дляZLIB_ENCODING_RAWилиZLIB_ENCODING_GZIP. - strategy
-
Одна из констант:
ZLIB_FILTERED,ZLIB_HUFFMAN_ONLY,ZLIB_RLE,ZLIB_FIXEDилиZLIB_DEFAULT_STRATEGY(по умолчанию). - dictionary
-
Строка или массив строк текущего словаря (по умолчанию предустановленного словаря нет).
Возвращаемые значения
Возвращает ресурс контекста сжатия (zlib.deflate) или false в случае возникновения ошибки.
Ошибки
Если в options была передана некорректная опция или
контекст не может быть создан, то будет вызвана ошибка уровня E_WARNING.
Список изменений
| Версия | Описание |
|---|---|
| 8.0.0 | В случае успешного выполнения функция возвращает экземпляр DeflateContext; раньше, возвращался ресурс (resource). |
Смотрите также
- deflate_add() - Инкрементальное сжатие данных
- inflate_init() - Инициализация контекста инкрементальной распоковки