class.gzip_encode.php,这是一个可以用来压缩页面内容的 PHP 类,具体方法是在 PHP 脚本
的开头和末尾调用该类的某些函数。如果要
在网站级实现这个方案,可以从 php.ini 文件的
auto_
epend 以及 auto_append 指令调用这些函数。这种方法虽然有效,但它无疑为 高负载
的网站带来了更多的开销。关于如何使用这个类的详细说明,请参见它的源代码。它的源代
码说明相当完善,作者告诉了你所有你必须知道的事情。
PHP 4.0.4 有一个新的输出缓存句柄 ob_gzhandler,它与前面的类相似,但用法不同。使用
ob_gzhandler 时要在 php.ini 中加入的 内容如下:
output_handler = ob_gzhandler ;
这行代码使得
PHP 激活输出缓存,并压缩 它发送出去的所有内容。如果由于某种原因你不
想在
php.ini 中加上这行代码,你还可以通过 PHP 源文件所在目录的.ht
文件改变默认
的服
务器行为(不压缩),语法如下:
php_value output_handler ob_gzhandler
或者是从
PHP 代码调用,如下所示: ob_start(“ob_gzhandler”);
采用输出缓存句柄的方法确实非常有效,而且不会给服务
器带来什么特殊的负荷。但必须
注意的是,
Netscape Communicator 对压缩图形的支持不佳,因此除非你能够保证所有用户
都使用
IE 浏览器,否则你应该禁止压缩 JPEG 和 GIF 图形。一般地,对于所 有其他文件,
这种压缩都有效,但建议你针对各种浏览器都分别进行测试,特别是当你使用了特殊的插
件或者数据查看器时这一点尤其重要。