Php/docs/function.gzencode

提供:Dev Guides
< Php
移動先:案内検索

gzencode

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

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


説明

gzencode ( string $data [, int $level = -1 [, int $encoding = ZLIB_ENCODING_GZIP ]] ) : string|false

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

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


パラメータ

data

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

level

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

encoding

エンコーディングモードを指定します。 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


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

例1 gzip ファイルの生成

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

参考