• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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 set ZLIB_NO_FLUSH to maximize compression, and ZLIB_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.

    参见

    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_init()