0

我正在尝试制作一个可以轻松加载我的css文件的函数。我没有足够的PHP知识,所以请帮助我:

我想将该函数称为:

<?php load_css('reset.css,main.css,bootstrap.css'); ?>

请告诉我如何将所有文件名与函数参数分开并一一调用。我目前的功能:

<?php

load_css($files){

echo '<style src="'.$files.'"></style>';

}

?>
4

5 回答 5

2

这里的另一个想法简短,简单且易于理解。

// 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>';
}
于 2013-04-02T05:56:28.733 回答
1

你为什么不尝试使用传统的 HTML css 包含呢?

例如:

@import cssfile-number.css

(将 -number 替换为不同的 css 文件名或数字)。

希望这可以帮助!

于 2013-04-02T05:57:31.173 回答
1

像这样写你的函数

<?php

load_css($files){

  $css=explode(",",$file);

  for($i=0;$i<count($css);$i++)
  {
   echo '<style src="'.$css[$i].'"></style>';
  }

}

?>
于 2013-04-02T05:58:02.673 回答
1

试试这个

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);
于 2013-04-02T06:08:37.027 回答
1

试试这个组合和缩小你的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>
于 2013-04-02T06:20:44.570 回答