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 判断字符串中是否包含html标签
Feb 17 PHP
删除html标签得到纯文本可处理嵌套的标签
Apr 28 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
Feb 12 PHP
PHP stream_context_create()函数的使用示例
May 12 PHP
解决php表单重复提交实现方法
Sep 29 PHP
PHP与Ajax相结合实现登录验证小Demo
Mar 16 PHP
PHP页面输出时js设置input框的选中值
Sep 30 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
Aug 14 PHP
PHP面向对象中new self()与 new static()的区别浅析
Aug 17 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 19 PHP
laravel请求参数校验方法
Oct 10 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
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
jquery 实现返回顶部功能
2014/11/17 Javascript
JavaScript中操作Mysql数据库实例
2015/04/02 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
Python中下划线的使用方法
2015/03/27 Python
Python3.2中Print函数用法实例详解
2015/05/19 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
2016/03/02 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
python elasticsearch环境搭建详解
2019/09/02 Python
python自动分箱,计算woe,iv的实例代码
2019/11/22 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
什么是唯一索引
2015/07/05 面试题
学生个人的自我评价分享
2013/11/05 职场文书
学校元旦晚会方案
2014/02/19 职场文书
留学推荐信范文
2014/05/10 职场文书
宣传工作经验材料
2014/06/02 职场文书
公务员检讨书
2014/11/01 职场文书
cf战队宣传语
2015/07/13 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
快消品行业营销模式与盈利模式分享
2019/09/27 职场文书
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android