加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用PHP在服务端合并多个JS和CSS文件减少HTTP请求,提升速度

发布时间:2023-09-12 13:10:42 所属栏目:PHP教程 来源:
导读:在Web,js,css文件会越多,那么对就增加了http请求数,解决该问题的一个好的方法就是合并js,css文件,下面就简单介绍一个方法,十分简单,本文以实现原理为主,代码可能会有出入,如果大家直接用请调试一下.

HTML代码如下
在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"); 
    }  //开源软件:Cuoxin.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/

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章