PHP には、gzip ページ圧縮を実装するための 2 つの方法があります。ただし、これら 2 つの方法の前提条件は、サーバーが gzip 圧縮をサポートしていない場合、どちらの方法も役に立ちません。
次のテキストでは、php を使用して gzip ページ圧縮関数を実装する方法を紹介します。
方法 1 (PHP の組み込み圧縮関数を使用):
<p><?PHP </p>if(Extension_Loaded('zlib')) Ob_Start('ob_gzhandler'); <br />Header("Content-type: text/html"); <br />?> <br /><html> <br /><head> <br /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <br /><title>scutephp</title> <br /></head> <br /><body> <br /><?php <br />for($i=0;$i<10000;$i++){ <br />echo 'Hello World!'; <br />} <br />?> <br /></body> <br /></html> <br /><?PHP <br />if(Extension_Loaded('zlib')) Ob_End_Flush(); <br /><p>?>
方法 2 (自作関数):
<p><?php ob_start('ob_gzip'); ?> </p><html> <br /><head> <br /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <br /><title>scutephp</title> <br /></head> <br /><body> <br /></body> <br /></html> <br /><?php <br />ob_end_flush(); <br />//压缩函数 <br />function ob_gzip($content){ <br />if(!headers_sent()&&extension_loaded("zlib")&&strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip")){ <br />$content = gzencode($content,9); <br />header("Content-Encoding: gzip"); <br />header("Vary: Accept-Encoding"); <br />header("Content-Length: ".strlen($content)); <br />} <br />return $content; <br />} <br />?>