fxs_2008:高性能网站之Css文件合并合并代码 收藏 评论
2012年02月28日

个人写的代码,备份了。关键是正则。


<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);


header('Content-Type: text/css; charset=UTF-8'); 

// seconds, minutes, hours, days, years
$expires = 60*60*24*365*10;
header("Pragma: public");
header("Cache-Control: maxage=".$expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');


$BaseIP = realpath(dirname( __FILE__ ).'/..');
$paths = explode("&",$_SERVER['QUERY_STRING']);
//print_r($paths);
$css ='';
$defaultExt =array('js','css','jpg','tif','png');
foreach ( $paths as $key=>$value){
	//var_dump( $value);
	$value= preg_replace('/[.]{2,}/ism','',$value);
	//	var_dump( $value);

	$subPath = $BaseIP . $value;

	
    $extend = pathinfo($value);
    $extend = isset($extend["extension"])?strtolower($extend["extension"]):null;
	

	if( in_array($extend,$defaultExt) ){
		if( file_exists($subPath)){
			$file_content = file_get_contents($subPath);
  
			//chech the url path
			$file_base = dirname($value);
			$file_content =preg_replace("#url\(['\"]?(?!http:/|/)([^)'\"]+)['\"]?\)#ims","url({$file_base}/$1)",$file_content );

			//chech the url path
			$css .=  "\n\n /*  File $key: $value  */\n\n" . $file_content ;
		}else{
            echo "/*  File $key: $value  error path  */\n" ;
		}
	}else{
       echo "/*  File $key: $value  error path  */\n" ;
	}
}

echo $css;

?>



http://blog.webinno.cn/article/view/13

本文地址:http://blog.webinno.cn/article/view/13

发表于 @ 2012年02月28日 | 浏览2555次| 编辑 |评论(loading... ) | 分享到:QQ空间新浪微博腾讯微博微信

评论列表

发表评论