gzencode
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
gzencode — gzip 圧縮された文字列を作成する
説明
$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)