2013-03-31 132 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