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 相关文章推荐
杏林同学录(八)
Oct 09 PHP
PHP 文件缓存的性能测试
Apr 25 PHP
php守护进程 加linux命令nohup实现任务每秒执行一次
Jul 04 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
Apr 23 PHP
PHP微信开发之查询城市天气
Jun 23 PHP
php表单加入Token防止重复提交的方法分析
Oct 10 PHP
php 时间time与日期date之间的使用详解及区别
Nov 07 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 PHP
php传值和传引用的区别点总结
Nov 19 PHP
laravel框架中视图的基本使用方法分析
Nov 23 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
PHP的分页功能
2007/03/21 PHP
php结合ajax实现手机发红包的案例
2016/10/13 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
仿京东快报向上滚动的实例
2017/12/13 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
vue设置一开始进入的页面教程
2019/10/28 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
简单了解OpenCV是个什么东西
2017/11/10 Python
python实现kMeans算法
2017/12/21 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
Python 获取 datax 执行结果保存到数据库的方法
2019/07/11 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
C#笔试题和英文面试题
2013/02/07 面试题
店长岗位职责
2013/11/21 职场文书
会计专业自我鉴定范文
2013/12/29 职场文书
年度考核自我鉴定
2014/02/02 职场文书
年会主持词结束语
2014/03/27 职场文书
明信片寄语大全
2014/04/08 职场文书
诚实守信演讲稿
2014/09/01 职场文书
社区三八妇女节活动总结
2015/02/06 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书