PHP_PHP チュートリアルで zlib 拡張機能を使用して GZIP 圧縮出力を実装するさまざまな方法の概要
通常の状況では、大量のデータ送信があり、サーバーの帯域幅の負荷を軽減したい場合、PHP で zlib を使用してファイル送信を圧縮する方法を採用し、gzip 圧縮出力を実現することもできます。さまざまな GZIP 圧縮出力方法のまとめ
GZIP (GNU-ZIP) は圧縮技術です。 GZIP 圧縮後、ページ サイズは元のサイズの 30%、またはさらに小さくなることがあります。こうすることで、ユーザーは閲覧中に爽快感と幸福感を得ることができます。
準備
1. php_zlib.dll ファイルが見つかりませんか?
Zlib圧縮はphp4.3からphpに組み込まれたため、少なくともWindows環境ではzlibをインストールする必要はありません。
2. php 実行環境をインストールして構築します
php の gzip 圧縮出力を実現するには、php.ini 設定ファイルを介して gzip 設定を有効にするだけでは十分ではなく、Apache のサポートが必要なため、インストールして構築することをお勧めします。 php+apache+mysqlの実行環境を構築します。
php gzip設定手順
1. php.ini設定ファイルを開き、zlib.output_compression = Offを見つけて、
zlib.output_compression = Off
;zlib.output_compression_level = -1
を
zlibに変更します。 .output_compression = On
zlib.output_compression_level = 6
例 1
PHP は zlib 拡張機能を使用してページの GZIP 圧縮出力を実装します
コード
コードは次のとおりです | コードをコピーします |
function ob_gzip( $content) // $content は圧縮されるページのコンテンツです { if(!headers_sent() && extension_loaded("zlib") && strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip) "))//判定 ページヘッダ情報が出力されているか、PHPのzlib拡張機能が読み込まれているか、ブラウザがGZIP技術をサポートしているか |
関数を作成したら、ob_start で呼び出します。これにより、元の ob_start() は
ob_start('ob_gzip') になります。 // ob_start() にパラメータとパラメータ名を追加します。 is 先ほどの関数名です。このようにして、コンテンツがバッファーに入ると、PHP は ob_gzip 関数を呼び出してコンテンツを圧縮します。
最後にバッファを終了します
ob_end_flush(); //バッファを終了し、内容を出力します。もちろん、バッファの内容はプログラムの実行終了時に自動的に出力されるため、この関数は必要ありません。
最後の完全な例
コードは次のとおりです | コードをコピー |
//ob_gzipという名前の関数を呼び出してコンテンツを圧縮します function ob_gzip($content) |
例2
swfファイルのzlib圧縮および解凍コード
ファイルの例:
コードは次のとおりです | コードをコピーします |
//swfファイルが圧縮されているため、必要に応じて入力できます ファイルの最初のバイトは 'F' または 'C' で決定されます 圧縮された swf ファイル: //--------------- ---------- -------------------------------------- ---------- ----------------------- //ファイル名 $filename = "test.swf"; /ファイルを開く $rs = fopen($ filename,"r"); //ファイルデータを読み取る $str = fread($rs,filesize($filename)); //swfヘッダファイルを設定する $head = substr($str,1,8 ); $head = "C".$head; //swf ファイルの内容を取得します $body = substr($str,8); //ファイルの内容を圧縮します最高の圧縮レベル 9 $body = gzcompress( $body, 9); //ファイルのヘッダーとコンテンツをマージします $str = $head.$body //読み取りファイル ストリームを閉じます fclose($rs); //新しいファイルを作成します $ ws = fopen("create.swf","w"); //ファイルを書き込みます fwrite($ws,$str); //ファイルを閉じて終了します fclose ($ws); //---------------------------------------------- ------------ -------------------------------------- ------------ ?> SWF ファイルを抽出: //-------------------------- ---------------------------------------------------- --------------- -------- //ファイル名 $filename = "test.swf"; //ファイルを開きます $rs = fopen ($filename,"r"); //ファイルデータを読み取ります $str = fread($rs,filesize($filename)); //swf ヘッダー ファイルを設定します $head = substr($str,1, 8); $head = "F".$head; //swf ファイルの内容を取得します $body = substr($str,8); //ファイルの内容を解凍します $body = gzuncompress($body) ; //ファイルのヘッダーとコンテンツをマージします $str = $head. $body; //読み込んだファイルストリームを閉じます $ws = fopen(" .swf","w"); //ファイルを書き込みます fwrite($ws,$str); //ファイルを閉じて保存します fclose($ws); //-------- ---------------- ---------------------------------- ---------------- ------------------------ ?> |
php zlib (gzip) 圧縮出力を有効にする
PHP gzip 構成の知識ポイント:
1 デフォルトでは、PHP は zlib サイト全体の圧縮出力を有効にしませんが、必要なページに対して ob_gzhandler 関数を使用します。圧縮された出力では、2 つのうちの 1 つだけを選択できます。選択しないと、エラーが報告されます。
コードは次のとおりです
#LoadModule deflate_module modules/mod_deflate.so | |
# 記号を削除しますで始めてApacheを再起動します。 |
http://www.bkjia.com/PHPjc/444679.html

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

2025年、グローバルデジタル仮想通貨取引プラットフォームは、トランザクションのボリューム、セキュリティ、ユーザーエクスペリエンスなどの指標に基づいて、2025年に世界のトップ10のデジタル通貨取引プラットフォームを激しく競争しています。 OKXは、強力な技術的強さとグローバルな運用戦略で最初にランクされており、Binanceは高流動性と低料金に密接に続きます。 Gate.io、Coinbase、Krakenなどのプラットフォームは、それぞれの利点がある最前線にいます。このリストには、Huobi、Kucoin、Bitfinex、Crypto.com、Geminiなどの取引プラットフォームがそれぞれ独自の特徴がありますが、投資は注意する必要があります。プラットフォームを選択するには、セキュリティ、流動性、料金、ユーザーエクスペリエンス、通貨選択、規制コンプライアンスなどの要因を考慮し、合理的に投資する必要があります

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

トップ10の仮想通貨取引プラットフォームのランキング(2025年の最新): Binance:グローバルリーダー、高い流動性、規制が注目を集めています。 OKX:大規模なユーザーベース、複数の通貨をサポートし、レバレッジされた取引を提供します。 gate.io:さまざまなフィアット通貨支払い方法を備えた上級交換は、さまざまな取引ペアと投資商品を提供します。 Bitget:デリバティブ交換、高流動性、低料金。 Huobi:さまざまな通貨と取引ペアをサポートする古い交換。 コインベース:厳密に規制されている有名なアメリカの交換。 フェメックスなど。
