(PHP 4 >= 4.0.4, PHP 5)
gzencode — gzip 圧縮された文字列を作成する
$data
[, int $level
= -1
[, int $encoding_mode
= FORCE_GZIP
]] )
この関数は、入力 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.
|
4.2.0 |
パラメータ encoding_mode が追加されました。
|
結果データは標準的な .gz ファイルを構成するための適当なヘッダとデータ構造を含みます。
例1 gzip ファイルの生成
<?php
$data = implode("", file("bigfile.txt"));
$gzdata = gzencode($data, 9);
$fp = fopen("bigfile.txt.gz", "w");
fwrite($fp, $gzdata);
fclose($fp);
?>