English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
この記事では、phpがob_start('ob_gzhandler')を使用して、ウェブページの圧縮機能を実現する方法について説明します。以下に詳しく説明します。
PHPで生成したウェブページをブラウザに送信し、表示する際、ページの開く速度はユーザーのネットスピードだけでなく、ページのサイズとも大きく関係しています。ページのサイズから手を付けることで、ウェブページの応答速度を向上させることができます。
以下のコードは、ob_gzip関数を使用して、出力内容を圧縮し、バッファーに保存してから出力する、ウェブページを圧縮する例です。
PHPコード
//圧縮を有効にします if(function_exists('ob_gzip')) { ob_start('ob_gzip'); } //圧縮するための内容を用意します for($i=0; $i<100; $i++) { echo('これはテスト内容です <br>'); } //圧縮結果を出力します ob_end_flush();}} //これはob_gzip圧縮関数です function ob_gzip ($content) { if( !headers_sent() && extension_loaded ("zlib") && strstr ( $_SERVER["HTTP_ACCEPT_ENCODING"], "gzip")){ $content = gzencode($content,9); header ("Content- Encoding: gzip"); header ("Vary: Accept- Encoding"); header ("Content- Length: ".strlen ($content)); } return ($content) ; }
実際の効果はどれだけあるか、このコードについてのテストを行いました。
圧縮前:
圧縮後:
PHPに関するさらに詳しい内容に興味がある場合は、以下の本サイトの特集を確認してください:《PHPネットワークプログラミング技術のまとめ》、《PHPキャッシュ技術のまとめ》、《PHPデータ構造とアルゴリズムのガイド》、《PHP配列(Array)操作のすべての技術》、《PHP文字列(string)の用法のまとめ》、《PHPプログラムデザインのアルゴリズムのまとめ》、《PHP数学演算の技術のまとめ》、《PHP正規表現の用法のまとめ》、《PHP演算と演算子の用法のまとめ》および《PHP一般的なデータベース操作の技術のまとめ》
この記事で述べたことが皆様のPHPプログラムデザインに役立つことを願っています。
声明:この記事の内容はインターネットから取得しており、著作権者はすべて所有しています。インターネットユーザーによって自発的に貢献し、自己でアップロードされた内容であり、このサイトは所有権を持ちません。また、人工編集は行われていません。著作権侵害が疑われる内容が見つかった場合は、メールで notice#w までお知らせください。3codebox.com(メール送信時は、#を@に置き換えてください。申し訳ありませんが、関連する証拠を提供し、確認が取れた場合は、このサイトは即座に侵害疑いのコンテンツを削除します。)