2024 年 PHP 日本研討會

deflate_init

(PHP 7, PHP 8)

deflate_init初始化一個增量 deflate 上下文

說明

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

使用指定的 encoding 初始化一個增量壓縮的 deflate 上下文。

請注意,此處的 window 選項僅設定演算法的視窗大小,與 zlib 過濾器不同,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

預設字典的 字串陣列(預設值:無預設字典)。

回傳值

成功時傳回 deflate 上下文資源 (zlib.deflate),失敗時傳回 false

錯誤/例外

如果傳遞給 options 的選項無效或無法建立上下文,則會產生等級為 E_WARNING 的錯誤。

更新日誌

版本 說明
8.0.0 成功時,此函式現在會傳回 DeflateContext 實例;先前傳回的是 資源

另請參閱

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top