deflate_init
インクリメンタルな圧縮コンテキストを初期化する
説明
DeflateContextfalse deflate_init(int $encoding
, array $options
= [])
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
レベルのエラーが発生します。