Zlib 関数
PHP Manual

gzencode

(PHP 4 >= 4.0.4, PHP 5)

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

説明

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

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

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($data9);
$fp fopen("bigfile.txt.gz""w");
fwrite($fp$gzdata);
fclose($fp);
?>

参考


Zlib 関数
PHP Manual