(PHP 7, PHP 8)
deflate_init — 初始化增量式 deflate 上下文
使用指定的 encoding
初始化增量式 deflate 上下文。
请注意,这里的 window
选项只设置算法的窗口大小,与 zlib 过滤器中设置相同参数来设置要使用的编码不同;编码必须使用 encoding
参数设置。
限制:目前无法在 GZIP 压缩流上设置头信息,这些头信息设置如下:GZIP 签名 (\x1f\x8B
);压缩方法 (\x08
== DEFLATE);6 个零字节;操作系统设置为当前系统 (\x00
= Windows,\x03
= Unix 等)。
encoding
ZLIB_ENCODING_*
常量之一。
options
一个关联数组,它可能包含以下元素
压缩级别范围为 -1..9;默认为 -1。
压缩内存级别范围为 1..9;默认为 8。
zlib 窗口大小(对数)范围为 8
..15
;默认为 15
。zlib 将 8
的窗口大小更改为 9
,并且从 zlib 1.2.8 开始,如果为 ZLIB_ENCODING_RAW
或 ZLIB_ENCODING_GZIP
请求 8
的窗口大小,则会发出警告并失败。
ZLIB_FILTERED
、ZLIB_HUFFMAN_ONLY
、ZLIB_RLE
、ZLIB_FIXED
或 ZLIB_DEFAULT_STRATEGY
(默认)之一。
成功时返回一个 deflate 上下文资源 (zlib.deflate
),失败时返回 false
。
如果向 options
传递无效的选项,或者无法创建上下文,则会生成级别为 E_WARNING
的错误。
版本 | 描述 |
---|---|
8.0.0 | 成功时,此函数现在返回一个 DeflateContext 实例;以前返回的是一个 resource。 |