最近、私のウェブサイトの速度がますます遅くなりました。これは、スクリプトの実行時間が遅いためではなく、ネットワーク伝送速度が遅いためです。
http1.1 が gzip エンコードされたデータをサポートしていることは知っているので、自分のページを圧縮しようとします...
(php.ini で gzip エンコードを直接出力するように設定できますが、試していません)
オンラインで gzdoc .php を検索し、変更して、みんなで一緒に考えてみました。
ob_start();//出力バッファをオープンします
ob_implicit_flush(0);//
//************************************************* ***************//
//関数名: canGzip()
//関数:クライアントのブラウザが gzip、x-gzip エンコーディングをサポートしているかどうかを確認します
//パラメータ:
//戻り値: サポートされているエンコーディング タイプ "gzip"、"x-gzip"、false を返す場合はサポートされていないことを意味します
//************************************************* *************** //
function canGzip()
{
//if (headers_sent() || connection_status)
//return false;
if (strpos('King'.$_SERVER["HTTP_ACCEPT_ENCODING"], 'gzip') ! == false)
return "gzip";
if (strpos('King'.$_SERVER["HTTP_ACCEPT_ENCODING"], 'x-gzip') !== false)
return "x-gzip";
return false;
}
//************************************************* ***************//
//関数名: doGzipOut($level, $debug)
//関数: 出力バッファリングされたデータを圧縮して出力
//パラメータ: $ level は圧縮レベル、0 = 圧縮なし、9 = 最大圧縮率
// $debug はデバッグ情報を出力するかどうかを表します、1 = 出力、0 = 出力なし
//戻り値:
//************************************************* ***************/ /
function doGzipOut($level = 1, $debug = 0)
{
$ENCODING = canGzip();
if ($ENCODING)
{
echo "nn ";
$contents = ob_get_contents();