php内置的压缩函数 —— ob_gzhandler()

ob_gzhandler()是PHP4.0.4以后内置的压缩函数,下面是网上对于这个函数的介绍文章:

 

-----------------------

这个输出缓冲处理的方法很好,并且不会为服务器带来额外的系统开销。我十分建议你使用这种方法。它的改变可以用以下的例子说明,如果客户使用的是28.8K的modem的话,经过这个处理,他将会认为突然间换成了一个ISDN接入一样。要注意的一点是:Netscape Communicator并不支持图象的压缩,所以将显示不出来。因此除非你的客户全部使用Internet Explorer,否则你必须禁止压缩jpeg和gif图象。其它文件的压缩应该没有问题,但是我建议你最好测试一下,特别是浏览器使用了不常见的插件或者是少人用的浏览器。

-----------------------

 

 

这个函数的使用不能:ob_start("ob_gzhandler");

 

而是必须自己写一个function来把他包装起来,因为ob_gzhandler有第二个参数,他的解释在:http://www.php.net/manual/fr/ref.zlib.php#56216

 

如下:

 

 

 


If you need to compress data and send it as "Content-disposition: attachment" and on-the-fly to the client due to the size for example (40Mb) here's a dirty trick using ob_gzhandler()

Keep in mind that $str is the content to output.

When you start the output call

<?php
echo ob_gzhandler ( $str , PHP_OUTPUT_HANDLER_START );
?>

Then to output any further content

<?php
echo ob_gzhandler ( $str , PHP_OUTPUT_HANDLER_CONT );
?>

And to close the output

<?php
echo ob_gzhandler ( '' , PHP_OUTPUT_HANDLER_END );
exit;
?>

Only tested on Apache 1.3.33 with PHP 5.0.4


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值