VII. 圧縮関数

このモジュールは、Jean-loup Gailly および Mark Adler による 透過的に gzip (.gz) で圧縮されたファイルを読み書きするための zlib の関数を使用します。 このモジュールを使用するには、zlib バージョン 1.0.9 以上を 使用する必要があります。

このモジュールは、gzip で圧縮されたファイルで動作する版の多くの filesystem 関数を含んでいます。 (非圧縮のファイルも使用可能ですが、ソケットは使用できません)

簡単なコードの例

テンポラリファイルをオープンし、テスト用文字列を書きこみ、 続いて、このファイルの内容を2回出力します。

例 1. 簡単な Zlib の例

  1 
  2  <?php
  3    $filename = tempnam('/tmp', 'zlibtest').'.gz';
  4    print "<html>\n<head></head>\n<body>\n<pre>\n";
  5    $s = "Only a test, test, test, test, test, test, test, test!\n";
  6    // 最大限の圧縮を指定して書きこみ用にファイルをオープン
  7    $zp = gzopen($filename, "w9");
  8    // 文字列をファイルに書きこむ
  9    gzwrite($zp, $s);
 10    // ファイルを閉じる
 11    gzclose($zp);
 12    // 読みこみ用にファイルをオープン
 13    $zp = gzopen($filename, "r");
 14    // 3文字読みこむ
 15    print gzread($zp, 3);
 16    // ファイルの終端まで読み、閉じる
 17    gzpassthru($zp);
 18    print "\n";
 19    // ファイルをオープンし、内容を出力する (2回目)。
 20    if (readgzfile($filename) != strlen($s)) {
 21            echo "Error with zlib functions!";
 22    }
 23    unlink($filename);
 24    print "<pre>\n</h1></body>\n</html>\n";
 25  ?>
 26  
目次
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 ファイルを出力する