2013-12-11 22 views
-1

在GoDaddy我有一個Linux託管帳戶。當我編寫一個網站時,如果我在鏈接/news/news.php中使用,我收到一個錯誤頁面,或者如果它是一個包含頁面,我會在頁面上顯示錯誤,而某些部分顯示(我的頁面的唯一部分不包含)。GoDaddy問題與目錄(與「webroot」和「根」的差異)

我帳戶的實際根目錄是隻能通過SSH訪問的普通Linux根目錄;否則,我只能訪問他們所稱的webroot(這不是一個文件夾或符號鏈接或任何可悲的 - )。看着我的網頁harrimanpcrepair.com,您可以在後臺看到我對每一個這兩個錯誤包括:

Warning: include(/layoutIncludes/header/header.php) [function.include]: failed to open stream: No such file or directory in /home/content/70/11248470/html/news/news.php on line 25 

Warning: include() [function.include]: Failed opening '/layoutIncludes/header/header.php' for inclusion (include_path='.:/usr/local/php5_3/lib/php') in /home/content/70/11248470/html/news/news.php on line 25 

如果我嘗試使用/home/content/70/11248470/html/news/news.php,等效爲我所有的東西,我要回去webroot,所以我可以做所有我包括的工作。但我不喜歡這很雜亂,看起來不正確。

有沒有人遇到過這樣的事情?任何解決方案的工作?我不想繼續使用../../../來通過目錄,因爲每次我複製和粘貼我的佈局時都必須更改它。我可以在所有內容前添加5 ../,然後鍵入webroot中所有內容的鏈接(因爲它不會比服務器上的webroot更遠,而不需要啓動斜線,但會導致問題--.-),但它是凌亂,我儘量保持我的代碼易於閱讀和清潔。

+4

GoDaddy的主機是太可怕了,現在移動。 – 2013-12-11 19:42:24

+0

我同意你在這個Dagon,但我得到了一個非常好的交易,有最好的託管和一噸的好處。儘管與其他網絡託管公司相比,我遇到了一些麻煩。所以我很開心,因爲我不需要聯繫他們,因爲他們至少沒有常識。 – user3089039

+0

好吧,就像你不想做任何事情一樣*高級*把文件放在網頁根目錄之外..等等 – 2013-12-11 20:51:41

回答

1

嘗試以下操作:

<?php include($_SERVER["DOCUMENT_ROOT"].'/path/to/file.php'); ?> 

或者:

<?php include(dirname(__FILE__).'/path/to/file.php'); ?> 
+0

是的。您最好考慮添加評論,爲什麼這應該是方法,因爲它似乎很明顯,OP沒有完全掌握服務器根目錄與Web根目錄(DOCUMENT_ROOT)。 –

+0

我可以處理這個答案一段時間。一些關於這些的解釋會很好,但我想我從我讀過的東西中得到了解,並通過這漫長的恐怖旅程獨自發現了這些東西。你的第二個例子,雖然我相信我以前發現(除了例子有'/../path/to/file.php'),它只能在某個特定點上起作用。我很欣賞快速反應。我想在某個時候找到更簡單的答案,就像我可以做的一樣,所以我在某種類型的變量中加入了這個變量,並將該變量放在需要文檔根目錄的任何位置。 – user3089039

+0

但是我對PHP的學習並不是很瞭解,並且在做任何事情時都保持最小限度,直到我有機會做更多事情。所以我不確定PHP變量是否在''中解釋,以及是否在外部php文件中使用此代碼找到的變量可以在它所連接的頁面上提取並正確使用。 – user3089039