gzip 圧縮された文字列を作成する

# gzencode

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gzencode — gzip 圧縮された文字列を作成する

### 説明

gzencode ( string `$data` [, int `$level` = -1 [, int `$encoding_mode` = FORCE_GZIP ]] ) : string

この関数は、入力 `data`を gzip プログラムの出力と互換性のある形式で圧縮 して返します。

GZIPファイルフォーマットに関する詳細な情報については、次のドキュ メントを参照ください。 » GZIP file format specification version 4.3 (RFC 1952)

### パラメータ

`data`

  エンコードするデータを指定します

`level`

  圧縮レベルを指定します。 圧縮をしない場合に 0、最大限の圧縮を行う場合に9を指定可能です。 指定されない場合のデフォルト圧縮レベルは、 zlib ライブラリのデフォルト圧縮レベルになります。

`encoding_mode`

  エンコーディングモードを指定します。 `FORCE_GZIP` (デフォルト) もしくは `FORCE_DEFLATE` を指定可能です。

  PHP 5.4.0 より前のバージョンでは、`FORCE_DEFLATE` を使うと、gzip ファイルヘッダに続けて標準的な zlib 圧縮文字列 (zlib ヘッダ込み) を出力していました。しかし、その後の crc32 チェックサムはありませんでした。

  PHP 5.4.0 以降は、`FORCE_DEFLATE` が RFC 1950 準拠の出力を生成するようになりました。zlib ヘッダ、圧縮したデータ、 そして Adler チェックサムとなります。

### 返り値

エンコードされた文字列、もしくはエラー発生時に `FALSE`

### 変更履歴

バージョン | 説明
--- | ---
5.4.0 | `FORCE_DEFLATE` が RFC 1950 準拠の出力を生成するようになりました。 output.

### 例

結果データは標準的な .gz ファイルを構成するための適当なヘッダとデータ構造を含みます。

例1 gzip ファイルの生成

`<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>`

### 参考

- gzdecode() - gzip 圧縮された文字列をデコードする
- gzdeflate() - 文字列を deflate 圧縮する
- gzinflate() - deflate圧縮された文字列を解凍する
- gzuncompress() - 圧縮された文字列を解凍する
- gzcompress() - 文字列を圧縮する
- » ZLIB Compressed Data Format Specification (RFC 1950)