PHP使用zlib扩展实现GZIP压缩输出的方法详解

前端之家收集整理的这篇文章主要介绍了PHP使用zlib扩展实现GZIP压缩输出的方法详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP使用zlib扩展实现GZIP压缩输出方法分享给大家供大家参考,具体如下:

一般情况下我们出现大量数据传输理希望减少服务器的带宽压力,会采取一种方式来压缩文件传输,PHP中用zlib也可以实现gzip压缩输出,下面我们来看GZIP压缩输出各种方法总结.

GZIP(GNU-ZIP)是一种压缩技术。经过GZIP压缩后页面大小可以变为原来的30%甚至更小。这样用户浏览的时候就会感觉很爽很愉快!

准备工作

1、找不到PHP_zlib.dll文件

PHP4.3开始zlib压缩就已经内置在PHP中了,所以至少Windows环境下是不需要安装zlib的。

2、安装搭建PHP运行环境

由于光通过PHP.ini配置文件开启gzip配置实现PHP gzip压缩输出是不行的,其需要apache的支持,所以建议安装搭建PHP+apache+MysqL运行环境。

PHP gzip配置步骤

一、打开PHP.ini配置文件,找到

修改

实例1

PHP使用zlib扩展实现页面GZIP压缩输出

代码

PHP;"> function ob_gzip($content) // $content 就是要压缩的页面内容 { if(!headers_sent() && extension_loaded("zlib") && strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip"))//判断页面头部信息是否输出PHP中zlib扩 展是否已经加载,浏览器是否支持GZIP技术 { $content = gzencode($content." n//此页已压缩",9); //为准备压缩的内容贴上"//此页已压缩"的注释标签,然后用zlib提供的gzencode()函数执行级别为9的压缩,这个参数值范围是0-9,0 表示无压缩,9表示最大压缩,当然压缩程度越高越费cpu。 //用header()函数给浏览器发送一些头部信息,告诉浏览器这个页面已经用GZIP压缩过了! header("Content-Encoding: gzip"); header("Vary: Accept-Encoding"); header("Content-Length: ".strlen($content)); } return $content; //返回压缩的内容

函数写好后,就用ob_start调用它,于是原来的ob_start()变成

代码如下:
函数名。这样当内容进入缓冲区后PHP就会调用ob_gzip函数把它压缩了。

最后结束缓冲区

代码如下:
输出内容。当然,不用这个函数也行,因为程序执行到最后会自动将缓冲区内容输出

最终完整的实例

PHP;">

实例2

zlib压缩和解压缩swf文件代码

文件的例子:

解压缩swf文件:

实例3

开启PHP zlib(gzip)压缩输出

PHP gzip配置知识点:

1、默认PHP是不开启zlib整站压缩输出的,而是通过对需要压缩输出页面使用ob_gzhandler函数实现,两者只能二选一,否则会报错。

2、

3、关闭PHP zlib(gzip)压缩

二、保存PHP.ini配置文件,并重启apache服务器

三、打开apache 配置文件httpd.conf,配置装载

这一步是最关键的开启PHP gzip压缩输出配置步骤,很多网友会说我已经开启了PHP.ini配置文件中的PHP gzip配置怎么还是没有实现PHP gzip压缩,就是因为没有让apache装载方法如下,将

去除开头的#号,并重启apache即可。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《

希望本文所述对大家PHP程序设计有所帮助。

猜你在找的PHP相关文章