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; }
只是个简单原型,没有封装。另外,合并后的文件记得配合缓存。
相关推荐
zyyjay 2020-11-09
xuebingnan 2020-11-05
samtrue 2020-11-22
stefan0 2020-11-22
yifangs 2020-10-13
songshijiazuaa 2020-09-24
hebiwtc 2020-09-18
天步 2020-09-17
83911535 2020-11-13
whatsyourname 2020-11-13
zhouyuqi 2020-11-10
Noneyes 2020-11-10
mathchao 2020-10-28
王志龙 2020-10-28
wwwsurfphpseocom 2020-10-28
diskingchuan 2020-10-23
savorTheFlavor 2020-10-23