May
23
2013
PHP实现gzip页面压缩的方法
作者:
绝缘体.. 发布:
2013-05-23 07:48 分类:
未分类 阅读:
抢沙发
PHP两种方法实现gzip页面压缩,不过这两种方法实现的前提是服务器要支持gzip压缩才行,服务器不支持的话,两种方法都是白搭了。对于如何测试自己的服务器是否支持Gzip压缩功能,可以参考:如何测试服务器是否支持Gzip压缩,另外你也可以参考:使用PHP的GZip压缩功能对网站JS和CSS文件进行压缩加速网站访问速度
提示:查询一个页面是否使用了gzip压缩功能可使用站长工具进行查询:http://tool.chinaz.com/Gzips/
下面正文开始介绍如何利用 php 实现 gzip 页面压缩功能。
方法一(用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;
}
?>
微信扫一扫,打赏作者吧~