两种方法在PHP中启用gzip压缩输出

  • A+
所属分类:PHP

如果有服务器权限只需要修改php.ini中的
zlib.output_compression = On
即可达到压缩的效果
第二:在php代码中通过对缓冲爱情内容进行压缩达到目的。
ob_start('ob_gzip');
/*这里是页面内容*/
ob_end_flush();
//这是ob_gzip压缩机
function ob_gzip($content)
{
if(!headers_sent() &&extension_loaded("zlib") && strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip"))
{
$content = gzencode($content." \n",9);
header("Content-Encoding: gzip");
header("Vary: Accept-Encoding");
header("Content-Length: ".strlen($content));
}
return $content;
}
headers_sent()是报头是否已经送
extension_loaded是是否有安装扩展
strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip")) 这句判断客户端是否可对gzip解码。

即是对是否执行压缩进行判断,根据情况不压缩即可。
也可以判断输出内容的大小再决定是否进行压缩。
如是有使用开发框架或者程序中有实现单一入口这种方式也是可取的。
对纯文本压缩比率非常高。
压缩输出,你值得拥有。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: