妙网科技 妙网科技 首页 妙网科技 网站开发 妙网科技 PHP开启gzip页面压缩的方法

PHP开启gzip页面压缩的方法

所属栏目: 网站开发 | 更新时间:2016-5-2 | 阅读:3249 次

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

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

方法一(用php的内置压缩函数):<?PHP
if(Extension_Loaded('zlib')) Ob_Start('ob_gzhandler');
Header("Content-type: text/html");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>php程序员的笔记</title>
</head>
<body>
<?php
for($i=0;$i<10000;$i++){
echo 'Hello World!';
}
?>
</body>
</html>
<?PHP
if(Extension_Loaded('zlib')) Ob_End_Flush();
?>

方法二(自写函数):


<?php ob_start('ob_gzip'); ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>php程序员的笔记</title>
    </head>
    <body>
    </body>
    </html>
    <?php
    ob_end_flush();
    //压缩函数
    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;
        }
?>