PHP小技巧之JS和CSS优化工具Minify的使用方法
发布:smiling 来源: PHP粉丝网 添加日期:2020-12-25 16:18:50 浏览: 评论:0
为减少HTTP请求,我们往往需要合并和压缩多个JS和CSS文件,下面记录下网上关于实现这个功能的PHP源码以及开源项目Minify的使用方法。
一、实现合并和压缩多个JS和CSS文件的代码
HTML:
- <link rel="stylesheet" type="text/css" href="cssmin.php?get=base,style1,style2,global&path=css/&v=20131023" />
- <script type="text/javascript" src="jsmin.php?get=jquery-1.6.4.min.js,minjquery.js,minjquery.ui.js,test.js,global.js&path=js/&v=20131023"></script>
PHP:
- //输出JS
- header ("Content-type:Application/x-javascript; Charset: utf-8");
- if(isset($_GET)) {
- $files = explode(",", $_GET['get']);
- $str = '';
- foreach ($files as $key => $val){
- $str .= file_get_contents($_GET['path'].$val);
- }
- $str = str_replace("\t", "", $str); //清除空格
- $str = str_replace("\r\n", "", $str);
- $str = str_replace("\n", "", $str);
- // 删除单行注释
- $str = preg_replace("/\/\/\s*[a-zA-Z0-9_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/", "", $str);
- // 删除多行注释
- $str = preg_replace("/\/\*[^\/]*\*\//s", "", $str);
- echo $str;
- }
- //输出CSS
- header ("content-type:text/css; charset: utf-8");
- if(isset($_GET)) {
- $files = explode(",", $_GET['get']);
- $fc = '';
- foreach ($files as $key => $val){
- $fc .= file_get_contents($_GET['path'].$val.".css");
- }
- $fc = str_replace("\t", "", $fc); //清除空格
- $fc = str_replace("\r\n", "", $fc);
- $fc = str_replace("\n", "", $fc);
- $fc = preg_replace("/\/\*[^\/]*\*\//s", "", $fc);
- echo $fc;
- }
只是个简单原型,没有封装。另外,合并后的文件记得配合缓存
二、Minify的使用方法
1、从code.google.com/p/minify/下载最新版Minify并解压缩,将"min"文件夹连同里面的内容一起复制到DOCUMENT_ROOT目录下(即网站跟目录)。
可以修改文件夹名"min"
2、在"min/groupsConfig.php"里配置g参数,代码如下:
- return array(
- // 'js' => array('//js/file1.js', '//js/file2.js'),
- // 'css' => array('//css/file1.css', '//css/file2.css'),
- );
3、在网页中按照如下方式引用就可以了:
- <script type="text/javascript" src="/min/g=js&20140519"></script>
后面的数字可以用更新日期来作标志,"min"和步骤1里的名称对应。
4、性能优化,请参考code.google.com/p/minify/wiki/CookBook
注意:
1、需要将httpd.conf里的rewrite_module模块开启
2、开发过程中,可以将调试模式开启,开发完毕后再将调试模式关闭,可以利用火狐浏览器的firebug来查看,代码如下:
$min_allowDebugFlag = true
Tags: PHP小技巧 Minify
- 上一篇:php开启openssl的方法
- 下一篇:php实例分享之mysql数据备份
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)