deflate_add()
版本:php7
(PHP 7)
Incrementally deflate data
说明
deflate_add(resource $context,string $data[,int $flush_mode= ZLIB_SYNC_FLUSH]): string
Incrementally deflates data in the specified context.
参数
- $context
A context created with deflate_init().
- $data
A chunk of data to compress.
- $flush_mode
One of
ZLIB_BLOCK
,ZLIB_NO_FLUSH
,ZLIB_PARTIAL_FLUSH
,ZLIB_SYNC_FLUSH
(default),ZLIB_FULL_FLUSH
,ZLIB_FINISH
. Normally you will want to setZLIB_NO_FLUSH
to maximize compression, andZLIB_FINISH
to terminate with the last chunk of data. See the » zlib manual for a detailed description of these constants.
返回值
Returns a chunk of compressed data,或者在失败时返回FALSE
.
错误/异常
If invalid arguments are given, an error of level E_WARNING
is generated.
参见
deflate_init()
Initialize an incremental deflate context
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'));