ホームページ >バックエンド開発 >PHPチュートリアル >php4を使用してWeb転送を高速化する

php4を使用してWeb転送を高速化する

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-08-08 09:34:14941ブラウズ

/***************************************
** タイトル.....: php4 HTTP ComPRession による Web の高速化
** バージョン......: 1.10
** 著者....: catoc
** ファイル名....: gzdoc.php
** 最終変更日: 2000/08/25
** 要件...: PHP4 >= 4.0.1
** PHP は --with-zlib[=DIR] で構成されました
** 注意....: Dynamic Content Acceleration は圧縮します
** オンザフライのデータ送信データ
** コードは sun jin hu (catoc) によるものです。
** 1998/1999 年以降のほとんどの新しいブラウザには
が付いています ** HTTP 1.1 をサポートするように装備されています
** 「コンテンツエンコーディング」として知られる標準。
** 基本的にブラウザは
に指示します。 ** 「コンテンツエンコーディング」を受け入れることができるサーバー
** そして、サーバーが機能する場合は、
** データを圧縮して送信します。
** ブラウザはそれを解凍してからレンダリングします
** ページ。
** 使用方法....:
** 最初の「 ** ------------ファイルの開始----------
** | ** | include('gzdoc.php');
** | print "出力開始!!";
** |?>
** |
** |... ページ ...
** |
** |
** | gzdocout();
** |?>
** -------------ファイルの終わり----------
**************************************/
ob_start();
ob_implicit_flush(0);
関数 GetHeader(){
$headers = getallheaders();
while (list($header, $value) = each($headers)) {
$Message .= "$header: $value
n";
}
$Message を返します。
}
関数 CheckCanGzip(){
グローバル $HTTP_ACCEPT_ENCODING、$PHP_SELF、$Wget、$REMOTE_ADDR、$S_UserName;
if (connection_timeout() || connection_aborted()){
0を返します。
}
if ((strpos('catoc'.$HTTP_ACCEPT_ENCODING, 'gzip')) || $Wget == 'Y'){
if (strpos('catoc'.$HTTP_ACCEPT_ENCODING, 'x-gzip')){
$ENCODING = "x-gzip";
$Error_Msg = str_replace('
','',GetHeader());
$Error_Msg .= "時刻: ".date("Y-m-d H:i:s")."n";
$Error_Msg .= "リモートアドレス: ".$REMOTE_ADDR."n";
//mail('your@none.net', "ユーザーはファイル $PHP_SELF に x-gzip 出力を持っています!!!", $Error_Msg);
}その他{
$ENCODING = "gzip";
}
$ENCODING を返します。
}その他{
0を返します。
}
}
関数 GzDocOut(){
グローバル $PHP_SELF、$CatocGz、$REMOTE_ADDR、$S_UserName;
$ENCODING = CheckCanGzip();
if ($ENCODING){
print "nn";
$Contents = ob_get_contents();
ob_end_clean();
if ($CatocGz == 'Y'){
print "長さを圧縮しません: ".strlen($Contents)."
";
print "圧縮長さ: ".strlen(gzcompress($Contents))."
";
出口;
}その他{
header("コンテンツエンコーディング: $ENCODING");
}
print Pack('cccccccc',0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00);
$Size = strlen($Contents);
$Crc = crc32($Contents);
$Contents = gzcompress($Contents);
$Contents = substr($Contents, 0, strlen($Contents) - 4);
$Contents を印刷します。
印刷パック('V',$Crc);
印刷パック('V',$Size);
出口;
}その他{
ob_end_flush();
$Error_Msg = str_replace('
','',GetHeader());
$Error_Msg .= "時刻: ".date("Y-m-d H:i:s")."n";
$Error_Msg .= "リモートアドレス: ".$REMOTE_ADDR."n";
//mail('your@none.net', "ユーザーはファイル $PHP_SELF で gzip 出力を使用できません!!!", $Error_Msg);
出口;
}
}
?>




以上、php4 アクセラレーション Web トランスポートを使用しました。側面の内容も含まれており、PHP 教則に関心のある友人の助けになることを望みます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。