2009-11-15 40 views
0

我有一個PHP類爲我的html文件創建了一個標頭。它包含了,並且該文件再次包含在內。因此,我認爲dirname(__FILE__)函數可以工作..但它說它找不到樣式表..即使文件存在,使用dirname(__ FILE__)附加樣式表也不起作用

我在os上使用mamp,並且當我從dirname(__FILE__)./../stylesheets/stylesheet.css獲取的路徑進入終端時,文件被發現..我很確定這條路是正確的。

這可能是什麼原因?我用dirname(__FILE__)一切的時候,我的包含文件,該工程..

感謝

 
EDIT: 

Files and directories: 
/data/main.php 
/stylesheets/stylesheet.css 
/public/index.php 

In the main.php:
public function createHeader(){ `$stylesheetpath = dirname(__FILE__) . "/../stylesheets/stylesheet.css";` `$header = "\n";` return $header }
+2

請問您可以粘貼一些代碼,這樣我們可以幫助您...通常應該工作 – 2009-11-15 19:17:44

回答

7

的相對路徑應該沒問題。

<LINK REL=StyleSheet HREF="../stylesheets/stylesheet.css" TYPE="text/css"> 

這裏的絕對路徑相對於文檔根而不是文件系統是絕對路徑。

dirname(__FILE__)適用於包含服務器端腳本文件,但不適用於客戶端使用的路徑。簡而言之,鏈接標記是指示瀏覽器繼續並請求該文件的指令。

+0

「dirname(__ FILE__)適用於包含腳本文件服務器端,但不適用於客戶端使用的路徑。謝謝你不知道! :) – Johannes 2009-11-15 19:29:44

1

編輯:閱讀問題不正確......

使用

<link rel="stylesheet" href="/stylesheets/stylesheet.css" type="text/css"/> 

對CSS

2

從你的文件結構,/stylesheets/是在公衆接觸不到的地方,它必須被置於其內/public/瀏覽器檢索文件的文件夾:

/data/main.php 
/public/stylesheets/stylesheet.css 
/public/index.php 

即使文件main.php工作,該文件由瀏覽器查看是index.php,所以相對路徑將是stylesheets/stylesheet.css

+0

非常感謝:D – Johannes 2009-11-16 08:49:41

相關問題