0

css ファイルを簡単にロードする関数を作成しようとしています。PHPの知識が足りないので、教えてください。

その関数を次のように呼び出したい:

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

すべてのファイル名を関数パラメータから分離し、それらを 1 つずつ呼び出す方法を教えてください。私の現在の機能:

<?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

cssを組み合わせて縮小するこれを試してください。ページに複数のcssファイルを追加する代わりに、1つの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 に答える
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

代わりに、従来の 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 に答える