English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

phpでob_start(ob_gzhandler)を使用してウェブページの圧縮機能を実現する方法

この記事では、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(メール送信時は、#を@に置き換えてください。申し訳ありませんが、関連する証拠を提供し、確認が取れた場合は、このサイトは即座に侵害疑いのコンテンツを削除します。)

おすすめ