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'));deflate_add
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
deflate_add
Референца за `function.deflate-add.php` со подобрена типографија и навигација.
deflate_add
Интерфејсот SessionUpdateTimestampHandlerInterface
deflate_add — Постепено компресирај податоци
= NULL
Постепено ги компресира податоците во наведениот контекст.
Параметри
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 при неуспех.
Errors/Exceptions
Ако се дадени невалидни аргументи, грешка од ниво
E_WARNING .
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
context беше вратено при неуспех. DeflateContext
инстанца сега; претходно, а resource се очекуваше.
|
Види Исто така
- deflate_init() - Иницијализирај контекст за инкрементално компресирање