您所在的位置:小祥子 » 编程 » PHP » 正文

php js css加载合并函数 宋正河整理

时间:2015-06-17 编辑:宋正河 来源:本站整理
PHP;toolbar:false;"><?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>
关键词:加载 合并 函数