2012-09-08 51 views
0

我一直在努力使自己的網站結構儘量減少混亂,但我遇到了文件路徑問題。設置頁面的絕對路徑

網站結構之前

[folder] : css 
[folder] : js 
[folder] : images 
[folder] : include 
    |---> : header.php 
[file] : index.php 
[file] : view_inventory.php 
.... 

網站結構後

[folder] : css 
[folder] : js 
[folder] : images 
[folder] : include 
    |---> : header.php 
[folder] : view 
    |---> : inventory.php 
[file] : index.php 
.... 

正如你可以看到我已經決定把視圖文件將它們放置在自己的文件夾

的與此問題是,這兩個指數。 PHPview_inventory.php使用包括/的header.php文件

包括/的header.php文件具有位於圖像/ logo.php,圖像的路徑的報頭的標誌如果index.phpview_inventory.php都在同一個文件夾中,但由於它們不是視圖/ inventory.php中的文件將具有不正確的圖像路徑。

我曾經想過爲圖像等文件(例如localhost/sites/bk/images/logo.png)定義完整路徑,但這不是個好主意,因爲我可能決定將文件上傳到服務器上,服務器地址可以不斷變化..等等

解決這個問題的最好方法是什麼?

回答

2

使用絕對路徑!

在你的index.php做:

define('ROOT', dirname(__FILE__)); 

當你要在HTML時,包含頭文件,

include ROOT . '/include/header.php' 

而且,想用一個圖像,使用絕對來自webroot的路徑:

<img src="/images/your_image.png"> 
<img src="/images/your_image.png"> 
+0

webroot不能正常工作,當我需要文件位於'lo時,它會轉到'localhost/images/logo.png' calhost/sites/bk/images/logo.png' –

+0

如果http://localhost/images/logo.png在瀏覽器中顯示徽標,則將代碼編寫爲! – JvdBerg

+0

沒關係,改變根路徑從htdocs到htdocs/sites/bk / –