PHP生成网页后传送给浏览器显示 ,页面的打开速度除了与用户的网速有关,往往也跟页面的大小有很关系,我们可以从网 页大小着手,以提高网页的响应速度。
下面的代码是一个压缩网页的例子,我 们利用ob_gzip函数,使用ob_start将输出内容压缩后放到“缓冲区”后再输出 。
PHP代码
代码
//
启用压缩
if ( function_exists ( ' ob_gzip ' ))
{
ob_start ( ' ob_gzip ' );
}
// 准备一些待压缩的内容
for ( $i = 0 ; $i < 100 ; $i ++ )
{
echo ( ' 这里是测试内容 <br> ' );
}
// 输出压缩成果
ob_end_flush ();
// 这是ob_gzip压缩函数
function ob_gzip ( $content )
{
if ( ! headers_sent () && extension_loaded ( " zlib " ) && strstr ( $_SERVER [ " HTTP_ACCEPT_ENCODING " ] , " gzip " )){
$content = gzencode ( $content , 9 );
header ( " Content- Encoding: gzip " );
header ( " Vary: Accept- Encoding " );
header ( " Content- Length: " . strlen ( $content ));
}
return ( $content ) ;
}
if ( function_exists ( ' ob_gzip ' ))
{
ob_start ( ' ob_gzip ' );
}
// 准备一些待压缩的内容
for ( $i = 0 ; $i < 100 ; $i ++ )
{
echo ( ' 这里是测试内容 <br> ' );
}
// 输出压缩成果
ob_end_flush ();
// 这是ob_gzip压缩函数
function ob_gzip ( $content )
{
if ( ! headers_sent () && extension_loaded ( " zlib " ) && strstr ( $_SERVER [ " HTTP_ACCEPT_ENCODING " ] , " gzip " )){
$content = gzencode ( $content , 9 );
header ( " Content- Encoding: gzip " );
header ( " Vary: Accept- Encoding " );
header ( " Content- Length: " . strlen ( $content ));
}
return ( $content ) ;
}
到底作用有 多大,在这里我就上面的代码进行了测试。
压缩前:
压缩后: