2011-06-18 73 views
1

我在/ image目錄中有一個Header.php文件。我曾經寫過包含文本和圖像的標題內容。這個Header.php文件包含在php項目的不同目錄和子目錄的所有其他頁面中。include_once()中的PHP目錄問題

我的問題是,當訪問來自子目錄的任何頁面,在header.php中圖像不是在該頁面顯示。

謝謝

+0

當我使用的圖像目錄SRC =「圖像/ image.jpg的」圖像示出了用於包括在的index.php但沒有示出用於/display/index.php。但是當我使用src =「/ images/image.jpg」時,它不會顯示/index.php和/display/index.php – fean

+0

請參閱我的答案。這是因爲當header被包含在display/index.php中時,它假定顯示目錄中有一個目錄圖像,並嘗試在其中查找圖像,但是因爲不是目錄,所以它不顯示。 – Roman

回答

0

使用絕對URL。示例:

<img src="http://yoursite.com/images/image.jpg" /> 

<img src="/images/image.jpg" /> 

這樣,您就不會對抗相對路徑。如果你想懶惰,你可以做的另一件事是使用<base>標籤,它有pros and cons

+0

不起作用,當我使用圖像目錄src =「images/image.jpg」時,圖像顯示爲包含在/index.php中,但未顯示/display/index.php。但是,當我使用的src =「/圖像/ image.jpg的」它沒有顯示兩者的index.php和/display/index.php – fean

+0

@fean:它應* *工作...你試試用完整的網址?如果是這樣,它的工作原理是什麼? –

+0

它完全適用於完全指定的URL,如:http://xyz.com/../image.jpg而不是第二個... – fean

0

您可能正在使用相對路徑在包括這意味着可能的header.php或者根據當前的文件是否是「正確」的目錄或不可能不被包括在內。

你可以做的是:

  • 使用絕對路徑在包括
  • 修改您的具體情況取決於當前文件位於層次
0

可能是因爲包含路徑頭文件給出了圖像的硬代碼路徑,它位於同一個目錄中,如「test.jpg」。這就是爲什麼當頭文件包含在子目錄中時,它會嘗試在同一個目錄中查找test.jpg圖像,並且找不到它。你可以通過使用絕對路徑來修復它。

+0

謝謝,是的,沒有找到目錄,圖像文件的問題。但是,在同一行代碼中,如何在目錄和其他一些子目錄中找到它? – fean

+0

@fean你已經解決了嗎?如果你沒有,可能你應該在你的職位上寫你的代碼,我會盡力幫忙。 – Roman

0

如果使用require_once()相反,該網站將不會加載,除非找到該文件。然後你可以得到一個錯誤信息,告訴你到底什麼都行不通。