php js css加載合並函數 宋正河整理,css宋正河
<?php
//php js css加載合並函數 宋正河整理
//轉載請注明出處
define('COMBINE_JS',true);
define('COMBINE_CSS',true);
define('APPLICATION_JS_ROOT','E:/wwwroot/m/js/');
define('APPLICATION_CSS_ROOT','E:/wwwroot/m/css/');
define('SC_ROOT','E:/wwwroot/m/static_cache/');
define('SC_URL','http://www.localhost.com/m/static_cache/');
define('APPLICATION_JS','http://www.localhost.com/m/js/');
define('APPLICATION_CSS','http://www.localhost.com/m/css/');
function load_combine_js($js,$path=array(),$origin=false,$part=1){
if(!is_array($js)) return false;
if(empty($path)){
$path_url=APPLICATION_JS;
$path_root=APPLICATION_JS_ROOT;
}
if($origin or (!COMBINE_JS)){
$string='';
for($i=0;$i<count($js);$i++){$string.="<script src='{$path_url}{$js[$i]}.js'></script>\n";}
echo $string;
return true;
}
$cache_filename='js-'.md5($_SERVER['SCRIPT_NAME'].$part).'.js';
if(!file_exists(SC_ROOT.$cache_filename)){
$file_content='';
for($i=0;$i<count($js);$i++){
$f=$path_root.$js[$i].'.js';
if(file_exists($f)) $file_content.=file_get_contents($f)."\n";
}
file_put_contents(SC_ROOT.$cache_filename,$file_content);
}
$file=SC_URL.$cache_filename;
echo "<script src='{$file}'></script>\n";
return true;
}
function load_combine_css($css,$path=array(),$origin=false,$part=1){
if(!is_array($css)) return false;
if(empty($path)){
$path_url=APPLICATION_CSS;
$path_root=APPLICATION_CSS_ROOT;
}
if($origin or (!COMBINE_CSS)){
$string='';
for($i=0;$i<count($css);$i++){$string.="<link href='{$path_url}{$css[$i]}.css' rel='stylesheet' type='text/css' />\n";}
echo $string;
return true;
}
$cache_filename='css-'.md5($_SERVER['SCRIPT_NAME'].$part).'.css';
if(!file_exists(SC_ROOT.$cache_filename)){
$file_content='';
for($i=0;$i<count($css);$i++){
$f=$path_root.$css[$i].'.css';
if(file_exists($f)) $file_content.=file_get_contents($f)."\n";
}
file_put_contents(SC_ROOT.$cache_filename,$file_content);
}
$file=SC_URL.$cache_filename;
echo $string="<link href='{$file}' rel='stylesheet' type='text/css' />\n";
return true;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<?php
load_combine_js(array('a','b'),array(),true);
load_combine_js(array('a','b'));
load_combine_css(array('1','2'),array(),true);
load_combine_css(array('1','2'));
?>
</head>
<body>
123
</body>
</html>