直接输出原始的HTML内容会非常的大,当前页面如果不进行html去除空格和换行以及注释,会导致完整页面有120k。当处理完换行注释之后还有86k,但是用zlib处理完gzip后!整个页面大小只剩下18k了,效果非常的有效!

/**
* 输出内容
* @param $key
*/
public function outHtml( $html)
{
if (empty($html)) {
return ;
}
if (Extension_Loaded('zlib')) Ob_Start('ob_gzip');
echo $html;
if (Extension_Loaded('zlib')) Ob_End_Flush();
exit;
}
/**
* 压缩输出方法 gzip压缩函数
* @param $content mixed 要压缩的页面内容
*/
function ob_gzip($content)
{
if (!headers_sent() && // 如果页面头部信息还没有输出
extension_loaded("zlib") && // 而且zlib扩展已经加载到PHP中
strstr($_SERVER["HTTP_ACCEPT_ENCODING"], "gzip")) { //而且浏览器说它可以接受GZIP的页面
//为准备压缩的内容贴上"此页已压缩"的注释标签,然后用zlib提供的gzencode()函数执行级别为9的压缩,这个参数值范围是0-9,0表示无压缩,9表示最大压缩,当然压缩程度越高越费CPU.
$content = gzencode($content . " 此页已压缩", 9);
//然后用header()函数给浏览器发送一些头部信息,告诉浏览器这个页面已经用GZIP压缩过了!
header("Content-Encoding: gzip");
header("Vary: Accept-Encoding");
header("Content-Length: " . strlen($content));
}
return $content; //返回压缩的内容
}
关键字词:

