deflate_init

(PHP 7, PHP 8)

deflate_init初始化增量式 deflate 上下文

描述

deflate_init(int $encoding, array $options = []): DeflateContext|false

使用指定的 encoding 初始化增量式 deflate 上下文。

请注意,这里的 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 开始,如果为 ZLIB_ENCODING_RAWZLIB_ENCODING_GZIP 请求 8 的窗口大小,则会发出警告并失败。

strategy

ZLIB_FILTEREDZLIB_HUFFMAN_ONLYZLIB_RLEZLIB_FIXEDZLIB_DEFAULT_STRATEGY(默认)之一。

dictionary

一个 string 或一个 array,其中包含预设字典的 strings(默认:没有预设字典)。

返回值

成功时返回一个 deflate 上下文资源 (zlib.deflate),失败时返回 false

错误/异常

如果向 options 传递无效的选项,或者无法创建上下文,则会生成级别为 E_WARNING 的错误。

变更日志

版本 描述
8.0.0 成功时,此函数现在返回一个 DeflateContext 实例;以前返回的是一个 resource

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top