网站的访问速度关系到一个网站的质量,当用户在客户端输入URL的时候你不希望让他们等太久吧,提高页面传递速度也是提高网站整体速度的一种办法。通过压缩页面大小后传输可显著提高页面访问速度。一般情况下都是通过服务器端配置apache module_gzip模块(<apache2.0)或mod_deflate模块(>apache2.0)实现支持gzip压缩来完成。PHP本身也提供了使用zlib扩展来对页面进行gzip压缩输出的方法,下面通过实例详细说明php zlib的使用方法。 zlib与gzip的区别 zlib是一个通用的压缩开源库,又是一种数据压缩格式,gzip也是一种数据压缩格式,zlib库默认的压缩方法并不是gzip,而是zlib的,因此使用zlib压缩得到gzip格式的数据,通常使用zlib提供的gz***系列函数实现。 php zlib安装 在使用zlib之前首先需要安装php zlib扩展,我是在Windows下进行PHP环境搭建,默认已支持zlib的使用,如果你的PHP环境不支持zlib的使用,请下载zlib的DLL扩展文件放置到PHP.INI配置文件中extension_dir设定的目录下并加载zlib扩展并重启服务器即可。 使用php zlib实现页面gzip压缩输出的原理 我们知道要想实现php gzip压缩输出,首先需要有需要有输出的内容,其次对内容压缩后输出,而PHP的缓存开启函数ob_start正好可以用来首先存放需要压缩的内容,然后使用php zlib进行gzip算法压缩后输出。 使用php zlib实现页面gzip压缩输出的方法 1、创建一个包含如下HTML文件内容的PHP文件,命名为php-zlib.php <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 在页面头部添加如下代码 <?php 2、通过ob_start(”ob_gzhandler”)告知对缓存区的内容使用ob_gzhandler函数进行压缩以得到gzip压缩格式的数据,如果客户端不支持压缩的页面则此函数返回false。 3、输出缓存并关闭缓存 在页面尾部添加如下代码 <?php |