ibaobei 发表于 2017-4-13 08:11:16

利用php中的zlib库的ob_gzhandler函数实现页面压缩包括css和js

  为了提升性能,页面在服务器端利用gzip算法进行压缩,基本大部分站点都是这么做的,但是这部分工作一般是交给了apache服务器本身来做的,其实也可以利用php本身zlib库来实现对页面的压缩,但这仅仅是一个替代方案,效率上肯定没前一种好的,下面主要介绍下用这种方案的实现方式。
  1,压缩php文件:只要在页面的最开始部分加上如下代码即可:
  < ?php if(extension_loaded(’zlib’)) {ob_start(’ob_gzhandler’);} ?>
  ob_start(”ob_gzhandler”)这句话的意思是首先将页面放到缓冲区中,然后利用库函数ob_gzhandler对页面内容进行gzip的压缩,最后把页面输出。当然必须先判断是否装有这个扩展了
2,压缩静态文件,如css,js等
比如说对于style.css来说,可以将其命名为style.css.php,然后在其文件开头加入一下代码:
  < ?php if(extension_loaded(’zlib’)) {ob_start(’ob_gzhandler’);}header(”Content-Type:text/css”);?>
  最后在页面的最后加上
  < ?php if(extension_loaded(’zlib’)) {ob_end_flush();} ?>
  即可
同样对于javascript文件一样
  不过对于image文件就没有办法了
本文地址:http://www.yaronspace.cn/blog/index.php/archives/102
页: [1]
查看完整版本: 利用php中的zlib库的ob_gzhandler函数实现页面压缩包括css和js