2013-03-31 180 views
0

標題也許聽起來有點怪異的文件,但讓我們說我有文件A和B. A和B具有兩個要包括從不同的文件,包括文件

include_once("includes/includes.php"); 

而且在包括.PHP有這樣一行:

include_once("admin/plugins/list.php"); 

這對處於同一水平管理(文件夾)的文件工作正常。 但B,已經是在文件夾管理,並具有以下代碼:

include_once("../includes/includes.php"); 

而且這樣的作品,只有我打開一個文件,該文件在管理文件夾時,因爲它無法找到該文件夾​​了錯誤管理員,在文件夾管理員。我知道我可以刪除管理員使用一些if語句,但我有更多的文件夾與這個問題。

是的,我已經嘗試使用$ _SERVER ['DOCUMENT_ROOT']和「/」,但這並不起作用。

+0

構建相對於父腳本所在文件夾的路徑:'require_once dirname(__ FILE__)。 '/../包括/ includes.php';'。 – DCoder

回答

0

你總是可以這樣定義 define('SV_ROOT', 'path/to/yourroot');

一個常量,然後讓所有包括相對於它。

0

只有它包含的東西纔是文檔根。所以我會說打印你的docroot來屏幕看看你得到什麼。

可以肯定的是,您並沒有要求延遲(例如在您請求所需的功能之後請求),而且您也沒有要求它加倍。

可以肯定,您可以發佈錯誤,doc根輸出以及應該根據您的路徑。

+0

錯誤是:Warning:include_once(/usr/local/apache/htdocs/admin/plugins/plugins.php)[function.include-once]:未能打開流:操作不允許在/ home/a2017505/public_html /包含/ includes.php 51行 – MaxKorlaar

+0

*使用$ _SERVER ['DOCUMENT_ROOT'],但我需要一部分可在更多服務器上工作的代碼,因爲我正在構建CMS – MaxKorlaar