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

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

WBOY
WBOYoriginal
2016-05-26 08:19:581105parcourir

在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/


本文链接:

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn