当前位置:首页 > PHP教程 > php应用 > 列表

PHP小技巧之JS和CSS优化工具Minify的使用方法

发布:smiling 来源: PHP粉丝网  添加日期:2020-12-25 16:18:50 浏览: 评论:0 

为减少HTTP请求,我们往往需要合并和压缩多个JS和CSS文件,下面记录下网上关于实现这个功能的PHP源码以及开源项目Minify的使用方法。

一、实现合并和压缩多个JS和CSS文件的代码

HTML:

  1. <link rel="stylesheet" type="text/css" href="cssmin.php?get=base,style1,style2,global&path=css/&v=20131023" /> 
  2. <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:

  1. //输出JS 
  2. header ("Content-type:Application/x-javascript; Charset: utf-8"); 
  3. if(isset($_GET)) { 
  4.  $files = explode(","$_GET['get']); 
  5.  $str = ''
  6.  foreach ($files as $key => $val){ 
  7.   $str .= file_get_contents($_GET['path'].$val); 
  8.  } 
  9.  $str = str_replace("\t"""$str); //清除空格 
  10.  $str = str_replace("\r\n"""$str); 
  11.  $str = str_replace("\n"""$str); 
  12.  
  13.  // 删除单行注释 
  14.  $str = preg_replace("/\/\/\s*[a-zA-Z0-9_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/"""$str); 
  15.  // 删除多行注释 
  16.  $str = preg_replace("/\/\*[^\/]*\*\//s"""$str); 
  17.  
  18.  echo $str
  19.  
  20. //输出CSS 
  21. header ("content-type:text/css; charset: utf-8"); 
  22. if(isset($_GET)) { 
  23.  $files = explode(","$_GET['get']); 
  24.  $fc = ''
  25.  foreach ($files as $key => $val){ 
  26.   $fc .= file_get_contents($_GET['path'].$val.".css"); 
  27.  } 
  28.  $fc = str_replace("\t"""$fc); //清除空格 
  29.  $fc = str_replace("\r\n"""$fc); 
  30.  $fc = str_replace("\n"""$fc); 
  31.  $fc = preg_replace("/\/\*[^\/]*\*\//s"""$fc); 
  32.  echo $fc

只是个简单原型,没有封装。另外,合并后的文件记得配合缓存

二、Minify的使用方法

1、从code.google.com/p/minify/下载最新版Minify并解压缩,将"min"文件夹连同里面的内容一起复制到DOCUMENT_ROOT目录下(即网站跟目录)。

可以修改文件夹名"min"

2、在"min/groupsConfig.php"里配置g参数,代码如下:

  1. return array
  2.   // 'js' => array('//js/file1.js', '//js/file2.js'), 
  3.   // 'css' => array('//css/file1.css', '//css/file2.css'), 
  4. ); 

3、在网页中按照如下方式引用就可以了:

  1. <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

分享到: