このモジュールは、Jean-loup Gailly および Mark Adler による 透過的に gzip (.gz) で圧縮されたファイルを読み書きするための zlib の関数を使用します。 このモジュールを使用するには、zlib バージョン 1.0.9 以上を 使用する必要があります。
このモジュールは、gzip で圧縮されたファイルで動作する版の多くの filesystem 関数を含んでいます。 (非圧縮のファイルも使用可能ですが、ソケットは使用できません)
テンポラリファイルをオープンし、テスト用文字列を書きこみ、 続いて、このファイルの内容を2回出力します。
例 1. 簡単な Zlib の例
<?php
$filename = tempnam('/tmp', 'zlibtest').'.gz';
print "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Only a test, test, test, test, test, test, test, test!\n";
// 最大限の圧縮を指定して書きこみ用にファイルをオープン
$zp = gzopen($filename, "w9");
// 文字列をファイルに書きこむ
gzwrite($zp, $s);
// ファイルを閉じる
gzclose($zp);
// 読みこみ用にファイルをオープン
$zp = gzopen($filename, "r");
// 3文字読みこむ
print gzread($zp, 3);
// ファイルの終端まで読み、閉じる
gzpassthru($zp);
print "\n";
// ファイルをオープンし、内容を出力する (2回目)。
if (readgzfile($filename) != strlen($s)) {
echo "Error with zlib functions!";
}
unlink($filename);
print "<pre>\n</h1></body>\n</html>\n";
?>