inflate_init

(PHP 7, PHP 8)

inflate_initインクリメンタルな解凍コンテキストを初期化する

説明

inflate_init(int $encoding, array $options = []): InflateContext|false

指定された encoding でインクリメンタルな解凍コンテキストを初期化します

パラメータ

encoding

定数 ZLIB_ENCODING_* のうちのひとつ

options

次の要素を含む連想配列:

level

-1 .. 9 までの圧縮レベル。デフォルトは -1 です。

memory

1 .. 9 までの圧縮メモリレベル。デフォルトは8です。

window

8 .. 15 までの zlib の window サイズ(対数)。 デフォルトは 15 です。

strategy

ZLIB_FILTERED, ZLIB_HUFFMAN_ONLY, ZLIB_RLE, ZLIB_FIXED, ZLIB_DEFAULT_STRATEGY (デフォルト) のうちのひとつです。

dictionary

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

戻り値

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

エラー / 例外

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

変更履歴

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

注意

警告

gzinflate() と異なり、 インクリメンタルな解凍コンテキストは、 解凍済みデータの大きさを強制しません。 よって、Zip爆弾を自動的に防御できません。

参考

  • inflate_add() - インクリメンタルにエンコードされたデータを解凍する
  • deflate_init() - インクリメンタルな圧縮コンテキストを初期化する
関連キーワード:  コンテキスト, 解凍, インクリメンタル, 初期, inflate, init, レベル, encoding, 圧縮, エラー