PHP 8.6.0 Beta 1 is available for testing

deflate_add

(PHP 7, PHP 8)

deflate_addИнкрементальное сжатие данных

Описание

function deflate_add(DeflateContext $context, string $data, int $flush_mode = ZLIB_SYNC_FLUSH ): string |false

Инкрементальное сжатие данных в указанном контексте.

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

context

Контекст, созданный с помощью функции deflate_init() .

data

Блок данных для сжатия.

flush_mode

Одна из констант: ZLIB_BLOCK , ZLIB_NO_FLUSH , ZLIB_PARTIAL_FLUSH , ZLIB_SYNC_FLUSH (по умолчанию), ZLIB_FULL_FLUSH , ZLIB_FINISH . Обычно требуется установить ZLIB_NO_FLUSH для максимальной компрессии и ZLIB_FINISH для завершения на последнем блоке данных. Детальное описание констант смотрите в » руководстве zlib.

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

Возвращает блок сжатых данных или false , если возникла ошибка.

Ошибки

В случае некорректных аргументов будет вызвана ошибка уровня E_WARNING .

Список изменений

Версия Описание
8.0.0 context ожидает экземпляр DeflateContext ; раньше, ожидался ресурс (resource ).

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

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

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 1 note

up
1
douglasjam at gmail dot com
8 years ago
Example about to use deflate functions to write a gzip encoded file in chunks.
<?php
$handler = fopen('/tmp/test.csv', 'w');
$deflateContext = deflate_init(ZLIB_ENCODING_GZIP, ['level' => 9]);
$strings = [
 'Hello, how are you?' . PHP_EOL,
 'I am fine thanks' . PHP_EOL,
 'Hello, how are you?' . PHP_EOL,
];
foreach ($strings as $string) {
 fwrite($handler, deflate_add($deflateContext, $string, ZLIB_NO_FLUSH));
}
fwrite($handler, deflate_add($deflateContext, '', ZLIB_FINISH));
fclose($handler);
echo gzdecode(file_get_contents('/tmp/test.csv'));
+Добавить

AltStyle によって変換されたページ (->オリジナル) /