用PHP在服务端合并多个JS和CSS文件减少HTTP请求,提高速度
发布:smiling 来源: PHP粉丝网 添加日期:2015-04-15 11:25:07 浏览: 评论:0
在Web,js,css文件会越多,那么对就增加了http请求数,解决该问题的一个好的方法就是合并js,css文件,下面就简单介绍一个方法,十分简单,本文以实现原理为主,代码可能会有出入,如果大家直接用请调试一下.
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("rn", "", $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");
- } //开源软件:phpfensi.com
- $fc = str_replace("t", "", $fc); //清除空格
- $fc = str_replace("rn", "", $fc);
- $fc = str_replace("n", "", $fc);
- $fc = preg_replace("//*[^/]**//s", "", $fc);
- echo $fc;
- }
只是个简单原型,没有封装,另外,合并后的文件记得配合缓存.
附上一个相关的开源项目:http://code.google.com/p/minify/
Tags: PHP服务端 HTTP请求
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)