(PHP 7, PHP 8)
deflate_init — 初始化一個增量 deflate 上下文
使用指定的 encoding
初始化一個增量壓縮的 deflate 上下文。
請注意,此處的 window
選項僅設定演算法的視窗大小,與 zlib 過濾器不同,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 實例;先前傳回的是 資源。 |