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

# deflate_init

(PHP 7, PHP 8)

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

### 説明

function deflate_init(int `$encoding`, array|object `$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 サイズ `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() - インクリメンタルな解凍コンテキストを初期化する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open