deflate_init

(PHP 7, PHP 8)

deflate_initインクリメンタルな圧縮コンテキストを初期化する

説明

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

指定された 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 サイズ 8ZLIB_ENCODING_RAWZLIB_ENCODING_GZIP と一緒に指定された場合、この関数は失敗し、警告が発生します。 同時に、zlib は window サイズを 8 から 9 に変更します。

strategy

ZLIB_FILTERED, ZLIB_HUFFMAN_ONLY, ZLIB_RLE, ZLIB_FIXED, ZLIB_DEFAULT_STRATEGY (デフォルト) のうちのいずれか。

dictionary

あらかじめ設定されたディクショナリの string または stringsarray。 (デフォルト: 辞書なし)

戻り値

成功した場合、圧縮コンテキストリソース(zlib.deflate) を返します。 失敗した場合に false を返します

エラー / 例外

不正なオプションが options に渡されたり、 コンテキストが作れなかった場合には、 E_WARNING レベルのエラーが発生します。

変更履歴

バージョン 説明
8.0.0 成功時に、この関数は DeflateContext クラスのインスタンスを返すようになりました。 これより前のバージョンでは、resource を返していました。

参考

  • deflate_add() - インクリメンタルにデータを圧縮する
  • inflate_init() - インクリメンタルな解凍コンテキストを初期化する
関連キーワード:  圧縮, コンテキスト, インクリメンタル, 初期, deflate, window, 設定, zlib, init, encoding