2014-12-24 105 views
1

我需要導入特定文件夾中可用的整個css文件(css) 有沒有一種方法可以在不導入文件的情況下執行?導入目錄中的整個文件

需要導入assets/css/*

<link href="<?php echo base_url(); ?>assets/css/*" rel="stylesheet"/> 
     <title>Untitled Document</title> 
     <style> 
      #area { 
       max-width: 600px; 
      } 
     </style> 


</head> 
+0

可以嘗試'水珠()'=> HTTP:// php.net/manual/en/function.glob.php –

回答

4

編輯:遲到的答案看來,你已經接受了答案。如果我知道,我不會提交這個。我正在測試和制定它。

正如我在評論中所述,您可以使用PHP的glob()函數來實現此目的,以及foreach循環。這裏是你可以做什麼:

foreach (glob("*.css") as $css) { 
    echo "<link type=\"text/css\" rel=\"stylesheet\" href=\"$css\">\n"; 
} 

其中在HTML源將產生類似的東西:

<link type="text/css" rel="stylesheet" href="css_1.css"> 
<link type="text/css" rel="stylesheet" href="css_2.css"> 
<link type="text/css" rel="stylesheet" href="css_3.css"> 

根據您的文件的位置,你可能需要將路徑更改爲這些文件。

即:

foreach (glob("path/to/css/folder/*.css") 

放置PHP爲它裏面<head></head>

例如:

<!DOCTYPE html> 

<head> 

<?php 

    foreach (glob("*.css") as $css) { 
     echo "<link type=\"text/css\" rel=\"stylesheet\" href=\"$css\">\n"; 
    } 

?> 

</head> 

<body> 

    <div id="css_1">Style 1</div> 
    <br> 
    <div id="css_2">Style 2</div> 
    <br> 
    <div id="css_3">Style 3</div> 

</body> 
</html> 
+0

這是我試圖找到的。 Thanx –

+0

@MilindaBandara不客氣Milinda,*歡呼聲* –

1

我覺得這是沒有辦法,你可以從一個文件夾做assets/css/*導入css文件。但是你可以將css文件夾中的文件連接成一個文件,然後縮小這個css文件並導入它。

您可以使用構建工具,如gulp來完成此事。檢查了這一點https://www.npmjs.com/package/gulp-minify-css

1

否。一方面,客戶端不知道該怎麼請求(它可以只請求一個文件,每個http請求,其名稱需要知道)。您可以通過四種方式完成:

  • 將所有CSS文件連接成一個文件,然後鏈接到該文件。
  • 有一個腳本,將串連所有CSS文件合併成一個反應,然後鏈接到該腳本
  • 在你的模板中的循環會在所有的CSS文件,併發給每個文件一個<link>元素。
  • 如果你只有幾個CSS文件比不改變,你可以把它們全部寫出來。
相關問題