VIII. 圧縮関数

このモジュールは、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";
 ?>
 
目次
gzclose ? 開かれた gz ファイルへのポインタを閉じる
gzeof ? gz ファイルポインタにおいてファイル終端を調べる
gzfile ? gz ファイル全体を配列に読み込む
gzgetc ? gz ファイルへのポインタから文字を得る
gzgets ? ファイルポインタから 1 行を得る
gzgetss ? gz ファイルへのポインタから 1行を得て、HTML タグを取り除く
gzopen ? gz ファイルを開く
gzpassthru ? gz ファイルへのポインタから残りのデータ全部を出力する
gzputs ? gz ファイルへのポインタに書き込む
gzread ? バイナリ対応の gz ファイル読み込み
gzrewind ? gz ファイルポインタの示す位置を元に戻す
gzseek ? gz ファイルポインタの位置を移動する
gztell ? gz ファイルポインタの読み込み/書き込み位置を返します
gzwrite ? バイナリ対応の gz ファイル書き込み
readgzfile ? gz ファイルを出力する