>백엔드 개발 >PHP 튜토리얼 >Song Zhenghe가 컴파일한 PHP js CSS 로딩 병합 함수

Song Zhenghe가 컴파일한 PHP js CSS 로딩 병합 함수

WBOY
WBOY원래의
2016-08-08 09:22:361378검색
<?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_c
        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_c
        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" c/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>

위 내용은 Song Zhenghe가 컴파일한 php js css 로딩 및 병합 기능을 소개하며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.