PHP Conference Japan 2024

deflate_init

(PHP 7, PHP 8)

deflate_init初始化增量压缩上下文

描述

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

使用指定的 encoding 初始化增量压缩上下文。

请注意,此处的 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

预设字典的 stringarray of strings(默认:无预设字典)。

返回值

如果成功,则返回一个压缩上下文资源(zlib.deflate),否则在失败时返回 false

错误/异常

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

变更日志

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

参见

添加注释

用户贡献的注释

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