PHP根据传入参数合并多个JS和CSS文件的简单实现
HTML(使用方法):
<linkrel="stylesheet"type="text/css"href="cssmin.php?get=base,style1,style2,global&path=css/&v=20131023"/> <scripttype="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($filesas$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($filesas$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; }