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 相关文章推荐
使用PHP实现二分查找算法代码分享
Jun 24 PHP
PHP学习笔记之数组篇
Jun 28 PHP
php 注释规范
Mar 29 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
Jul 19 PHP
PHP的简易冒泡法代码分享
Aug 28 PHP
PHP中替换键名的简易方法示例详解
Jan 07 PHP
YII视图整合kindeditor扩展的方法
Jul 13 PHP
Yii2下点击验证码的切换实例代码
Mar 14 PHP
利用php + Laravel如何实现部署自动化详解
Oct 11 PHP
Laravel实现短信注册的示例代码
May 29 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
Oct 22 PHP
Laravel框架实现抢红包功能示例
Oct 31 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
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
PHP实现网站应用微信登录功能详解
2019/04/11 PHP
用js重建星际争霸
2006/12/22 Javascript
javascript 单选框,多选框美化代码
2008/08/01 Javascript
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
让FireFox支持innerText的实现代码
2009/12/01 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
Egret引擎开发指南之发布项目
2014/09/03 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
2015/06/01 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
微信小程序  action-sheet详解及实例代码
2016/11/09 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
JavaScript仿支付宝6位数字密码输入框
2016/12/29 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
python利用小波分析进行特征提取的实例
2019/01/09 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
Eclipse面试题
2014/03/22 面试题
Java文件和目录(IO)操作
2014/08/26 面试题
会计实习生自我鉴定
2013/12/12 职场文书
质检部职责
2013/12/28 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
《春晓》教学反思
2014/04/20 职场文书
干部作风整顿自我剖析材料和整改措施
2014/09/18 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书