我正在尝试制作一个可以轻松加载我的css文件的函数。我没有足够的PHP知识,所以请帮助我:
我想将该函数称为:
<?php load_css('reset.css,main.css,bootstrap.css'); ?>
请告诉我如何将所有文件名与函数参数分开并一一调用。我目前的功能:
<?php
load_css($files){
echo '<style src="'.$files.'"></style>';
}
?>
这里的另一个想法简短,简单且易于理解。
// store css file names as array..
$css = array('css1','css2','css3');
// then loop to call them one by one.
foreach($css as $style){
echo '<style src="'.$style.'"></style>';
}
你为什么不尝试使用传统的 HTML css 包含呢?
例如:
@import cssfile-number.css
(将 -number 替换为不同的 css 文件名或数字)。
希望这可以帮助!
像这样写你的函数
<?php
load_css($files){
$css=explode(",",$file);
for($i=0;$i<count($css);$i++)
{
echo '<style src="'.$css[$i].'"></style>';
}
}
?>
试试这个
load_css($files){
$files = explode(",", $files);
while(list($css) = each($files){
echo "<style type='text/css' src='" . $css . "' ></style>";
}
}
$css = 'css.css,css1.css,css2.css';
load_css($css);
或者
load_css($files){
while(list($css) = each($files){
echo "<style type='text/css' src='" . $css . "' ></style>";
}
}
$css = array('css.css','css1.css','css2.css');
load_css($css);
试试这个组合和缩小你的css,你只需要在页面上添加一个css而不是几个css文件
css.php
<?php
$now=time()+10000;
$then="Expires: ".gmstrftime("%a,%d %b %Y %H:%M:%S GMT",$now);
header($then);
header("Cache-Control: public, must-revalidate");
header("Content-Type: text/css");
ob_start("ob_gzhandler");
set_time_limit(0);
//list of your css
$CssList=array('main.css',
'simple-lists.css');
$outt='';
foreach($CssList as $CSS){
$outt.=minify_css($CSS);
}
function minify_css($add){
$fp=fopen($add,'rb');
$speed=1024*100;
while(!feof($fp)){
$out.=fread($fp,$speed);
}
$out = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $out);
/* remove tabs, spaces, newlines, etc. */
$out = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $out);
//$out=str_replace(" ","",$out);
//$out=str_replace(" ","",$out);
return $out;
}
print($outt);
while (@ob_end_flush());
?>
把这个放在你的标题上
<style type="text/css" src="css.php" ></style>