php进行压缩 ob_gzhandler函数有3种方法
使用ob_gzhandler函数有3种方法让它对php进行压缩:
1、在php.ini中设置output_handler = ob_gzhandler
2、在.htaccess中加入php_value output_handler ob_gzhandler
3、在php文件头加上ob_start(‘ob_gzhandler’);
第一种我们是没法办到,第二种方法不错,可以一劳永逸,一、二种方法效果都一样,就是对所有php后缀文件进行压缩,我这里主要介绍一下第三种方法,就是试用CSS压缩法,例如对模板下的style.css进行压缩.
1,把模板目录下的style.css复制一份出来,命名为style.css.php,接着在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();} ?>
2、按照下面的方式修改header.php中的css连接,原来的代码如下:
<link rel="stylesheet" type="text/css" media="screen" href="/style.css"/>
修改后的代码如下:
<link rel="stylesheet" type="text/css" media="screen" href="/style.css.php"/>
搞定,现在你的CSS就可以被gzip压缩了,JS也可以使用同样的方法,只是在xx.js.php头部加入的应该是这样,代码如下:
<?php if ( extension_loaded('zlib') ) {ob_start('ob_gzhandler');} header("Content-Type: text/java script"); ?>
小结:复制的时候去掉?php前的空格,仔细看看K2主题的中的JS,就是修改后缀为php后在顶部加入了ob_gzhandler函数.