Home  >  Article  >  php教程  >  用PHP在服务端合并多个JS和CSS文件减少HTTP请求,提高速度

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

WBOY
WBOYOriginal
2016-05-26 08:19:581105browse

在Web,js,css文件会越多,那么对就增加了http请求数,解决该问题的一个好的方法就是合并js,css文件,下面就简单介绍一个方法,十分简单,本文以实现原理为主,代码可能会有出入,如果大家直接用请调试一下.

HTML代码如下:

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; 
}

只是个简单原型,没有封装,另外,合并后的文件记得配合缓存.

附上一个相关的开源项目:http://code.google.com/p/minify/


本文链接:

收藏随意^^请保留教程地址.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn