deflate_init
(PHP 7, PHP 8)
deflate_init — インクリメンタルな圧縮コンテキストを初期化する
説明
指定された encoding
を使って
インクリメンタルな圧縮コンテキストを初期化します。
window
オプションは、
アルゴリズムのウィンドウサイズだけを設定することに注意してください。
これは、同じパラメータが利用するエンコーディングも設定する zlib filter と異なります。
この関数では、エンコーディングは 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
-
8
..15
までの zlib の window サイズ(対数)。 デフォルトは 15 です。 zlib 1.2.8 以降では、 window サイズ8
がZLIB_ENCODING_RAW
やZLIB_ENCODING_GZIP
と一緒に指定された場合、この関数は失敗し、警告が発生します。 同時に、zlib は window サイズを8
から9
に変更します。 - strategy
-
ZLIB_FILTERED
,ZLIB_HUFFMAN_ONLY
,ZLIB_RLE
,ZLIB_FIXED
,ZLIB_DEFAULT_STRATEGY
(デフォルト) のうちのいずれか。 - dictionary
-
あらかじめ設定されたディクショナリの string または strings の array。 (デフォルト: 辞書なし)
戻り値
成功した場合、圧縮コンテキストリソース(zlib.deflate
) を返します。
失敗した場合に false
を返します
エラー / 例外
不正なオプションが options
に渡されたり、
コンテキストが作れなかった場合には、 E_WARNING
レベルのエラーが発生します。
変更履歴
バージョン | 説明 |
---|---|
8.0.0 | 成功時に、この関数は DeflateContext クラスのインスタンスを返すようになりました。 これより前のバージョンでは、resource を返していました。 |
参考
- deflate_add() - インクリメンタルにデータを圧縮する
- inflate_init() - インクリメンタルな解凍コンテキストを初期化する