疆飞
.NET永远年轻,永远热泪盈眶...
展开边栏 收起边栏
PHP引入合并多个JS和CSS文件实例
这篇文章主要实现了PHP合并并输出多个JS和CSS文件的实现方法,这里使用了一个比较简单的方法,重在揭示实现原理,需要的朋友可以参考下。
为什么要这样子做呢?其实很简单,就是用php来判断终端类型的不同,从而实现一种非主流的响应式布局。如果恰好你也有这样的想法那你就来对地方了,如果你不知吾所云,那么就当我是个神经病,下面的代码里没有加入终端类型的判断,只是实现了js 和 css的引入和输出,顺便做了一下压缩。清楚了注释和换行等!
不罗嗦了下面看代码:
1、HTML代码:
<link rel="stylesheet" type="text/css" href="you.php get=base,style1,style2,global&path=css/&type=css&v=20180829" />
<script type="text/javascript" src="you.php?get=jquery-1.6.4.min.js,minjquery.js,minjquery.ui.js,test.js,global.js&path=js/&type=js&v=20180829"></script>
2、PHP代码:
<?php
if(isset($_GET)) {
//输出JS
if($_GET['type']=="js"){
header ("Content-type:application/x-javascript; Charset: utf-8");
$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
if($_GET['type']=="css"){
header ("content-type:text/css; charset: utf-8");
$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;
}
}
?>
3、参数说明:
type #引入文本类型,css 或 js
get #为文件名,多个css或js可以用半角的逗号分隔。例如 base,style1,style2,global
path #为路径,可以设置相对路径。例如 style/css/ style/js/ 以“/”结尾
#配合伪静态规则来使用会更好。
以上就是此文全部内容,如果你有什么想法可以在下面留言,大家共同探讨!
文章搜索
联系疆飞
- QQ932557101
- emailmail@jiangfei.net
- weibo@疆飞 (@jiangfei1006)
- twitter@疆飞 (@jiangfei1006)
PS:没事不要瞎联系,除非你想请我吃饭...
热门标签更多
Copyright © 2008-. JiangFei.net all rights reserved
苏公网安备32048202001026号苏ICP备18062911号