PHP根据传入参数合并多个JS和CSS文件的简单实现

Posted ノGHJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP根据传入参数合并多个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; 
}


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

 

以上是关于PHP根据传入参数合并多个JS和CSS文件的简单实现的主要内容,如果未能解决你的问题,请参考以下文章

js_函数参数的相关问题

nginx-http-concat资源文件合并模块

js函数

PHP里面怎么根据URL参数得到制定数组?

System.Web.Optimization 合并压缩技术的使用

java之简单工厂