Инициализировать контекст инкрементального сжатия

# deflate_init

(PHP 7, PHP 8)

deflate_init — Инициализировать контекст инкрементального сжатия

### Описание

function deflate_init(int `$encoding`, array|object `$options` = []): DeflateContext|false

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open