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


Posted in PHP onJune 13, 2014

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 相关文章推荐
VFP与其他应用程序的集成
Oct 09 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
Aug 06 PHP
yii上传文件或图片实例
Apr 01 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Aug 15 PHP
PHP使用glob函数遍历目录或文件夹的方法
Dec 16 PHP
再谈PHP中单双引号的区别详解
Jun 12 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
Oct 11 PHP
laravel config文件配置全局变量的例子
Oct 13 PHP
PHP如何使用cURL实现Get和Post请求
Jul 11 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
Jun 12 #PHP
CodeIgniter框架过滤HTML危险代码
Jun 12 #PHP
让CodeIgniter的ellipsize()支持中文截断的方法
Jun 12 #PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 #PHP
让codeigniter与swfupload整合的最佳解决方案
Jun 12 #PHP
Codeigniter实现处理用户登录验证后的URL跳转
Jun 12 #PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
Jun 12 #PHP
You might like
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
PHP在特殊字符前加斜杠的实现代码
2011/07/17 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
解决JQeury显示内容没有边距内容紧挨着浏览器边线
2013/12/20 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
switch语句的妙用(必看篇)
2016/10/03 Javascript
jQuery Layer弹出层传值到父页面的实现代码
2017/08/17 jQuery
Angularjs自定义指令实现分页插件(DEMO)
2017/09/16 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
Python中使用haystack实现django全文检索搜索引擎功能
2017/08/26 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
django使用JWT保存用户登录信息
2020/04/22 Python
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
AMAVII眼镜官网:时尚和设计师太阳镜
2019/05/05 全球购物
JAVA和C++的区别
2013/10/06 面试题
linux面试题参考答案(4)
2013/01/28 面试题
经典英文广告词
2014/03/18 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
2014年政风行风评议工作总结
2014/10/21 职场文书
四风问题党员个人整改措施
2014/10/27 职场文书
2015年国税春训心得体会
2015/03/09 职场文书
结婚通知短信大全
2015/04/17 职场文书
趣味运动会标语口号
2015/12/26 职场文书
python实现简单的井字棋
2021/05/26 Python
Go语言实现Snowflake雪花算法
2021/06/08 Golang
一次Mysql update sql不当引起的生产故障记录
2022/04/01 MySQL