deflate_init
(PHP 7, PHP 8)
deflate_init - Ініціалізувати контекст інкрементального стиснення
Опис
deflate_init(int $encoding, array $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() - Ініціалізація контексту інкрементального розпакування