ホームページ  >  記事  >  バックエンド開発  >  PHP の圧縮とアーカイブ - Zlib

PHP の圧縮とアーカイブ - Zlib

伊谢尔伦
伊谢尔伦オリジナル
2016-11-22 09:40:381323ブラウズ

ほとんどのファイル システム関数は gzip を使用してファイルを圧縮します。このモジュールは、gzip 圧縮ファイルを透過的に読み取るのに役立ちます。

Zlib サポートは、PHP のデフォルトでは有効になっていません。 PHP をインストールして構成する必要がある場合は、--with-zlib[=DIR] を使用します。

次の例では、一時ファイルを開いてテスト文字列を書き込み、ファイルの内容を 2 回出力します。

例 #1 簡単な Zlib の例

<?php
    $filename = tempnam(&#39;/tmp&#39;, &#39;zlibtest&#39;) . &#39;.gz&#39;;
    echo "<html>\n<head></head>\n<body>\n<pre class="brush:php;toolbar:false">\n";
    $s = "Only a test, test, test, test, test, test, test, test!\n";
    // open file for writing with maximum compression
    $zp = gzopen($filename, "w9");
    // write string to file
    gzwrite($zp, $s);
    // close file
    gzclose($zp);
    // open file for reading
    $zp = gzopen($filename, "r");
    // read 3 char
    echo gzread($zp, 3);
    // output until end of the file and close it.
    gzpassthru($zp);
    gzclose($zp);
    echo "\n";
    // open file and print content (the 2nd time).
    if (readgzfile($filename) != strlen($s)) {
        echo "Error with zlib functions!";
    }
    unlink($filename);
    echo "
\n\n\n"; ?>

関連関数:

gzclose — 開いている gz ファイル ポインターを閉じる

gzcompress — 文字列を圧縮する

gzdecode — gzip 圧縮された文字列をデコードする

gzdeflate — 文字列を圧縮する

gzencode — gzip 圧縮文字列を作成します

gzeof — gz ファイル ポインターの EOF をテストします

gzfile — gz ファイル全体を配列に読み取ります

gzgetc — gz ファイル ポインターから文字を取得します

gzgets — 行を取得しますファイルポインター

gzgetss — gz ファイルポインターから行を取得し、HTML タグを削除します

gzinflate — 収縮した文字列をインフレートします

gzopen — gz ファイルを開きます

gzpassthru — gz ファイルポインター上の残りのデータをすべて出力します

gzputs — エイリアス gzwrite

gzread — バイナリセーフな gz ファイル読み取り

gzrewind — gz ファイル ポインターの位置を巻き戻す

gzseek — gz ファイル ポインターでシーク

gztell — gz ファイル ポインターの読み取り/書き込みを指示するPosition

gzuncompress — 圧縮文字列を解凍します

gzwrite — バイナリセーフな gz-file write

readgzfile — gz ファイルを出力します

zlib_decode — raw/gzip/zlib でエンコードされたデータを解凍します

zlib_encode — データを圧縮します指定されたエンコーディング

zlib_get_coding_type — 出力圧縮に使用されるコーディング タイプを返します


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。