ホームページ >バックエンド開発 >PHPチュートリアル >PHP zlib
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 の例です:
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>
出力:
上記のプログラムでは、tempnum 関数を使用して一時ファイルが作成され、gzip を使用して圧縮され、ファイルの場所へのパスが newfile という変数に格納されます。そして、新しく作成した gzip 圧縮ファイルに書き込む内容を data という変数に格納します。次に、gzopen 関数を使用して書き込みモードで gzip 圧縮ファイルを開きます。次に、data 変数に格納されている内容が、gzwrite 関数を使用して gzip 圧縮ファイルに書き込まれます。次に、gzclose 関数を使用して gzip 圧縮ファイルを閉じます。次に、gzip 圧縮されたファイルを gzopen 関数を使用して読み取りモードで開き、gzread 関数を使用してファイルに書き込まれたばかりのファイルの内容を読み取り、出力として画面に表示します。次に、gzclose 関数を使用して gzip 圧縮ファイルを閉じます。その後、リンク解除機能を使用してファイルが削除されます。
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>
出力:
上記のプログラムでは、tempnum 関数を使用して一時ファイルが作成され、gzip を使用して圧縮され、ファイルの場所へのパスが newfile という変数に格納されます。そして、gzipで圧縮した新規作成ファイルに書き込む内容をdataという変数に格納します。次に、gzopen 関数を使用して書き込みモードで gzip 圧縮ファイルを開きます。次に、data 変数に格納されている内容が、gzwrite 関数を使用して gzip 圧縮ファイルに書き込まれます。次に、gzclose 関数を使用して gzip 圧縮ファイルを閉じます。次に、gzip 圧縮されたファイルを gzopen 関数を使用して読み取りモードで開き、gzread 関数を使用してファイルに書き込まれたばかりのファイルの内容を読み取り、出力として画面に表示します。次に、gzclose 関数を使用して gzip 圧縮ファイルを閉じます。その後、リンク解除機能を使用してファイルが削除されます。
以上がPHP zlibの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。