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() - Инициализация контекста инкрементальной распоковки