gzencode
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
gzencode — gzip 圧縮された文字列を作成する
説明
gzencode
( string $data
[, int $level
= -1
[, int $encoding
= ZLIB_ENCODING_GZIP
]] ) : string|false
この関数は、入力 data
を
gzip プログラムの出力と互換性のある形式で圧縮
して返します。
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);?>
参考
- gzdecode() - gzip 圧縮された文字列をデコードする
- gzdeflate() - 文字列を deflate 圧縮する
- gzinflate() - deflate圧縮された文字列を解凍する
- gzuncompress() - 圧縮された文字列を解凍する
- gzcompress() - 文字列を圧縮する
- » ZLIB Compressed Data Format Specification (RFC 1950)