この記事では、php ob_start(ob_gzhandler) を使用した Web ページの圧縮と送信の実装についてまとめています。必要な方は参考にしてください。
まずob_startの使い方を見てみましょう
PHP ob_start() 関数を使用してブラウザのキャッシュを開きます。これにより、flush()、ob_end_flush() を呼び出す前 (またはプログラムが実行される前) にキャッシュの内容が出力されなくなります。
コードは次のとおりです
| コードをコピー
|
ob_start(); //バッファをオープンします
phpinfo(); //phpinfo関数を使用します
$info=ob_get_contents(); //バッファの内容を取得して $info に代入します
$file=fopen('info.txt','w'); // ファイル info.txt を開きます
fwrite($file,$info); //info.txt に情報を書き込みます
fclose($file); // ファイル info.txt を閉じる
?>
|
PHP ob_start() 関数の優れた機能。ob_start("ob_gzhandler") などの、キャッシュの書き込み後に ob_start のパラメータを使用することもできます。最も一般的に使用される方法は、ob_get_contents( ) キャッシュの内容を取得します
上記のコードは、ob_gzip 関数と ob_start を使用して出力コンテンツを圧縮し、出力する前に「バッファ」に格納する例です。
コードは次のとおりです
| コードをコピー
|
//圧縮を有効にする
if(function_exists('ob_gzip'))
{
Ob_start('ob_gzip');
}
// 圧縮するコンテンツを準備します
for($i=0; $i<100; $i++)
{
echo('これがテスト内容です ');
}
//圧縮結果を出力する
ob_end_flush();
//これは ob_gzip 圧縮関数です
関数 ob_gzip ($content)
{
If( !headers_sent() && extension_loaded ("zlib") && strstr ( $_SERVER["HTTP_ACCEPT_ENCODING"], "gzip")){
$content = gzencode($content,9);
ヘッダー ("コンテンツ エンコーディング: gzip");
ヘッダー (「変更: エンコーディングを受け入れる」);
header ("コンテンツの長さ: ".strlen ($content));
リターン ($content) ;
}
| http://www.bkjia.com/PHPjc/633100.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/633100.html
技術記事この記事では、php ob_start(ob_gzhandler) を使用した Web ページの圧縮と送信の実装についてまとめています。必要な方は参考にしてください。 まず、ob_start の使用法を見てみましょう。PHP ob_start() 関数を使用してブラウザを開きます...