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 相关文章推荐
flash用php连接数据库的代码
Apr 21 PHP
Php中使用Select 查询语句的实例
Feb 19 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
Dec 31 PHP
php+MySql实现登录系统与输出浏览者信息功能
Jul 01 PHP
PHP文件操作实例总结
Sep 27 PHP
PHP编写daemon process 实例详解
Nov 13 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
Sep 27 PHP
php 算法之实现相对路径的实例
Oct 17 PHP
PHP获取链表中倒数第K个节点的方法
Jan 18 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 PHP
php实现微信公众号企业转账功能
Oct 01 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
Apr 17 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 class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
解析CI的AJAX分页 另类实现方法
2013/06/27 PHP
jquery 简单导航实现代码
2009/09/11 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
深入理解javascript原型链和继承
2014/09/23 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
微信小程序实现图片预览功能
2018/01/31 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
微信小程序动态生成二维码的实现代码
2018/07/25 Javascript
小程序tab页无法传递参数的方法
2018/08/03 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
2020/02/10 Javascript
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
跟老齐学Python之编写类之四再论继承
2014/10/11 Python
Python常用的日期时间处理方法示例
2015/02/08 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
python requests.get带header
2020/05/05 Python
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
技校毕业生的自我评价
2013/12/27 职场文书
人事经理岗位职责范本
2014/08/04 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
拾金不昧感谢信
2015/01/21 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
大学生读书笔记范文
2015/07/01 职场文书
社区服务理念口号
2015/12/25 职场文书
详解Vue的列表渲染
2021/11/20 Vue.js
bootstrapv4轮播图去除两侧阴影及线框的方法
2022/02/15 HTML / CSS
Python可视化神器pyecharts之绘制地理图表练习
2022/07/07 Python