background image

class.gzip_encode.php,这是一个可以用来压缩页面内容的 PHP 类,具体方法是在 PHP 脚本
的开头和末尾调用该类的某些函数。如果要

 在网站级实现这个方案,可以从 php.ini 文件的

auto_

PR

epend 以及 auto_append 指令调用这些函数。这种方法虽然有效,但它无疑为 高负载

的网站带来了更多的开销。关于如何使用这个类的详细说明,请参见它的源代码。它的源代
码说明相当完善,作者告诉了你所有你必须知道的事情。
PHP 4.0.4 有一个新的输出缓存句柄 ob_gzhandler,它与前面的类相似,但用法不同。使用
ob_gzhandler 时要在 php.ini 中加入的 内容如下:
output_handler = ob_gzhandler ;
这行代码使得

PHP 激活输出缓存,并压缩 它发送出去的所有内容。如果由于某种原因你不

想在

php.ini 中加上这行代码,你还可以通过 PHP 源文件所在目录的.ht

access  

件改变默认

的服

 务器行为(不压缩),语法如下:

php_value output_handler ob_gzhandler
或者是从

 PHP 代码调用,如下所示: ob_start(“ob_gzhandler”);

采用输出缓存句柄的方法确实非常有效,而且不会给服务

 器带来什么特殊的负荷。但必须

注意的是,

Netscape Communicator 对压缩图形的支持不佳,因此除非你能够保证所有用户

都使用

IE 浏览器,否则你应该禁止压缩 JPEG 和 GIF 图形。一般地,对于所 有其他文件,

这种压缩都有效,但建议你针对各种浏览器都分别进行测试,特别是当你使用了特殊的插
件或者数据查看器时这一点尤其重要。