PHP实现gzip页面压缩的方法

PHP两种方法实现gzip页面压缩,不过这两种方法实现的前提是服务器要支持gzip压缩才行,服务器不支持的话,两种方法都是白搭了。对于如何测试自己的服务器是否支持Gzip压缩功能,可以参考:如何测试服务器是否支持Gzip压缩,另外你也可以参考:使用PHP的GZip压缩功能对网站JS和CSS文件进行压缩加速网站访问速度

提示:查询一个页面是否使用了gzip压缩功能可使用站长工具进行查询:http://tool.chinaz.com/Gzips/

下面正文开始介绍如何利用 php 实现 gzip 页面压缩功能。

方法一(用php的内置压缩函数):

  1. <?PHP  
  2. if(Extension_Loaded('zlib')) Ob_Start('ob_gzhandler');  
  3. Header("Content-type: text/html");  
  4. ?>  
  5. <html>  
  6. <head>  
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  8. <title></title>  
  9. </head>  
  10. <body>  
  11. <?php  
  12. for($i=0;$i<10000;$i++){  
  13. echo 'Hello World!';  
  14. }  
  15. ?>  
  16. </body>  
  17. </html>  
  18. <?PHP  
  19. if(Extension_Loaded('zlib')) Ob_End_Flush();  
  20. ?> 

方法二(自写函数):

  1. <?php ob_start('ob_gzip'); ?>  
  2. <html>  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5. <title></title>  
  6. </head>  
  7. <body>  
  8. </body>  
  9. </html>  
  10. <?php  
  11. ob_end_flush();  
  12. //压缩函数  
  13. function ob_gzip($content){  
  14. if(!headers_sent()&&extension_loaded("zlib")&&strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip")){  
  15. $content = gzencode($content,9);  
  16. header("Content-Encoding: gzip");  
  17. header("Vary: Accept-Encoding");  
  18. header("Content-Length: ".strlen($content));  
  19. }  
  20. return $content;  
  21. }  
  22. ?> 

转载请注明:代码家园 » PHP实现gzip页面压缩的方法

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)