上記の例はあまり役に立ちませんが、$code 自体が変数を含む出力ページであることが一般的です。この例では、$code 内の変数を置き換えるために eval が使用され、出力結果が再度取得されます。 ..
例 6. 転送を高速化する
/*
** タイトル.... .: PHP4 HTTP 圧縮により Web が高速化
** バージョン....: 1.20
** 著者.....: catoc <[email]catoc@163.net[/email] >
** ファイル名...: gzdoc.php
** 最終変更日: 18/10/2000
** 要件...: PHP4 >= 4.0.1
** PHP は -- で構成されましたwith- zlib[=DIR]
** 注....................: ダイナミック コンテンツ アクセラレーションは、
** オンザフライでデータ送信データを圧縮します
** コード by sun jin hu (catoc) ** 1998/1999 年以降のほとんどの新しいブラウザーには、基本的に「コンテンツ エンコーディング」として知られる HTTP 1.1
** 標準がサポートされています。ブラウザは
** サーバーに「コンテンツ エンコーディング」
** を受け入れることができることを示し、サーバーが対応できる場合は、データを
** 圧縮して送信します。
** ブラウザはそれを解凍してから
をレンダリングします。 ** ページ
**
** John Lim ([email]jlim@natsoft.com.my[/email]) によって変更されました
** Sandy McArthur, Jr のアイデアに基づいています
** 使用法.... . .:
** 最初の '' タグの先頭の前にスペースはありません。----------
* * |
** | include('gzdoc.php'); ? >
** |... ページ ...
** | | gzdocout(); > ファイルの終わり---- ------
*/
ob_start();
ob_implicit_flush(0);
function CheckCanGzip(){
if (headers_sent() || connection_timeout() || connection_aborted( )){
リターン 0;
}
if (strpos($HTTP_ACCEPT_ENCODING, 'x-gzip') !== false) リターン "x-gzip"
if (strpos($HTTP_ACCEPT_ENCODING, 'gzip') !== false) return " gzip";
return 0;
}
/* $level = 圧縮レベル 0-9、0=なし、9=最大 */
function GzDocOut($level=1,$debug=0){
$ENCODING = CheckCanGzip ();
if ($ENCODING){
print "nn";
$Contents = ob_get_contents(); debug){
$s = "
長さを圧縮しません: ".strlen($Contents) .= "
圧縮された長さ: ".strlen(gzcompress($Contents,$level));コンテンツ .= $s;
header("コンテンツ エンコーディング: $ENCODING");
$Size = strlen($Contents); = gzcompress($Contents,$level);
$Contents = substr($Contents, 0, strlen($Contents) - 4); ('V' 。彼は zlib の機能を使用して、送信されたコンテンツを圧縮しました。テストでは、その効果は 10k を超えるページで生成されることが示され、ページが大きくなればなるほど、その効果はより明白になります...
http://www.bkjia.com/PHPjc/321271.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/321271.html
技術記事
出力制御関数は、header() または setcookie() を使用して送信されるファイル ヘッダー情報には影響しませんが、echo() や PHP コードと同様のデータ ブロックにのみ影響します。 まずは簡単なものからあげましょう...