php基于ob_start(ob_gzhandler)实现网页压缩功能的方法

本文实例讲述了php基于ob_start('ob_gzhandler')实现网页压缩功能的方法。分享给大家供大家参考,具体如下:

PHP生成网页后传送给浏览器显示 ,页面的打开速度除了与用户的网速有关,往往也跟页面的大小有很关系,我们可以从网 页大小着手,以提高网页的响应速度。

下面的代码是一个压缩网页的例子,我们利用ob_gzip函数,使用ob_start将输出内容压缩后放到“缓冲区”后再输出 。

PHP代码

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

//启用压缩

if(function_exists('ob_gzip'))

{

 ob_start('ob_gzip');

}

//准备一些待压缩的内容

for($i=0; $i<100; $i++)

{

 echo('这里是测试内容
'
);

}

//输出压缩成果

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) ;

}

到底作用有 多大,在这里我就上面的代码进行了测试。

压缩前:

压缩后:

你可能感兴趣的:(php)