PHP zlib

WBOY
リリース: 2024-08-29 13:00:01
オリジナル
656 人が閲覧しました

PHP で gzip を使用して圧縮したファイルを読み書きできるようにするために、PHP zlib モジュールと呼ばれるモジュールを利用します。 PHP で zlib モジュールを利用することにより、データ ストリームが圧縮されるため、コンテンツがより高速にエンド ユーザーに提供されます。プログラムで zlib モジュールを有効にするには、行 zlib.output_compression = on を追加する必要があります。プログラムと zlib モジュールは、pligg などの特定のアプリケーションでは強制的に有効にする必要があり、このモジュールによって 2 つの定数、つまり FORCE_GZIP と FORCE_DEFLATE が定義されており、拡張機能が実行時に手動でロードされるときに使用できます。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

PHP で zlib モジュールを宣言する構文:

zlib.output_compression = on
ログイン後にコピー

PHP での zlib モジュールの動作

  • PHP で gzip を使用して圧縮されたファイルを読み書きできるようにするために、PHP zlib モジュールと呼ばれるモジュールを利用します。
  • PHP の zlib モジュールを利用すると、データ ストリームが圧縮されるため、コンテンツがより高速にエンド ユーザーに提供されます。
  • プログラムで zlib モジュールを有効にするには、プログラムに zlib.output_compression = on という行を追加する必要があります。
  • pligg などの特定のアプリケーションでは、zlib モジュールを強制的に有効にする必要があります。
  • zlib モジュールでは、FORCE_GZIP と FORCE_DEFLATE という 2 つの定数が定義されており、拡張機能が実行時に手動でロードされるときに使用できます。

PHP zlib の例

以下は PHP zlib の例です:

例 #1

gzip を使用して圧縮されたファイルを透過的に読み書きする zlib モジュールを示す PHP プログラム。

コード:

<html>
<body>
<?php
#creating a temporary file which is compressed by gzip using tempnum function and storing the path to the file location in a variable called newfile
$newfile = tempnam('/tmp','exfile') . '.gz';
#storing the contents to be written to the file in a variable called data
$data = "Welcome to PHP\n";
#opening the gzip compressed file using gzopen function
$fileopen = gzopen($newfile, "w9");
#writing the contents to the gzip compressed file using gzwrite function
gzwrite($fileopen, $data);
#closing the file after writing the contents to the gzip compressed file
gzclose($fileopen);
#opening the gzip compressed file for reading using gzopen function
$fileopen = gzopen($newfile, "r");
#reading the contents written to the created file using gzread function
echo gzread($fileopen);
#closing the file after reading the contents of the file
gzpassthru($fileopen);
gzclose($fileopen);
echo "\n";
#unlink function is used to delete the file that was just being read
unlink($newfile);
?>
</body>
</html>
ログイン後にコピー

出力:

PHP zlib

上記のプログラムでは、tempnum 関数を使用して一時ファイルが作成され、gzip を使用して圧縮され、ファイルの場所へのパスが newfile という変数に格納されます。そして、新しく作成した gzip 圧縮ファイルに書き込む内容を data という変数に格納します。次に、gzopen 関数を使用して書き込みモードで gzip 圧縮ファイルを開きます。次に、data 変数に格納されている内容が、gzwrite 関数を使用して gzip 圧縮ファイルに書き込まれます。次に、gzclose 関数を使用して gzip 圧縮ファイルを閉じます。次に、gzip 圧縮されたファイルを gzopen 関数を使用して読み取りモードで開き、gzread 関数を使用してファイルに書き込まれたばかりのファイルの内容を読み取り、出力として画面に表示します。次に、gzclose 関数を使用して gzip 圧縮ファイルを閉じます。その後、リンク解除機能を使用してファイルが削除されます。

例 #2

gzip を使用して圧縮されたファイルを透過的に読み書きする zlib モジュールを示す PHP プログラム。

コード:

<html>
<body>
<?php
#creating a temporary file which is compressed by gzip using tempnum function and storing the path to the file location in a variable called newfile
$newfile = tempnam('/tmp','exfile') . '.gz';
#storing the contents to be written to the file in a variable called data
$data = "Learning is fun\n";
#opening the gzip compressed file using gzopen function
$fileopen = gzopen($newfile, "w9");
#writing the contents to the gzip compressed file using gzwrite function
gzwrite($fileopen, $data);
#closing the file after writing the contents to the gzip compressed file
gzclose($fileopen);
#opening the gzip compressed file for reading using gzopen function
$fileopen = gzopen($newfile, "r");
#reading the contents written to the created file using gzread function
echo gzread($fileopen);
#closing the file after reading the contents of the file
gzpassthru($fileopen);
gzclose($fileopen);
echo "\n";
#unlink function is used to delete the file that was just being read
unlink($newfile);
?>
</body>
</html>
ログイン後にコピー

出力:

PHP zlib

上記のプログラムでは、tempnum 関数を使用して一時ファイルが作成され、gzip を使用して圧縮され、ファイルの場所へのパスが newfile という変数に格納されます。そして、gzipで圧縮した新規作成ファイルに書き込む内容をdataという変数に格納します。次に、gzopen 関数を使用して書き込みモードで gzip 圧縮ファイルを開きます。次に、data 変数に格納されている内容が、gzwrite 関数を使用して gzip 圧縮ファイルに書き込まれます。次に、gzclose 関数を使用して gzip 圧縮ファイルを閉じます。次に、gzip 圧縮されたファイルを gzopen 関数を使用して読み取りモードで開き、gzread 関数を使用してファイルに書き込まれたばかりのファイルの内容を読み取り、出力として画面に表示します。次に、gzclose 関数を使用して gzip 圧縮ファイルを閉じます。その後、リンク解除機能を使用してファイルが削除されます。

メリット

  • gzip を使用して圧縮されたファイルは、PHP の zlib モジュールを使用して透過的に読み書きできます。
  • データ ストリームは zlib モジュールを使用して圧縮されるため、PHP の zlib モジュールを使用すると、コンテンツをより速くエンドユーザーに配信できます。
  • zlib モジュールを使用すると、パフォーマンスが大幅に向上します。

以上がPHP zlibの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!