PHP包含相对路径的文件

时间:2013-03-25 16:06:20

标签: php path include

此绝对路径成功包含我的文件httpapi.inc.php

require_once '/home/devel/wwwroot/nm/dev/http-api/http-api/src/httpapi.inc.php';

调用文件是:

来电亲戚:

/devel/phi/dev/appcenter-head/appcenter/application/nm/index.php

来电者位置:

/home/devel/wwwroot/phi/dev/appcenter-head/appcenter/application/nm

现在,我如何根据相对路径包含相同的文件,如:

/devel/nm/dev/http-api/http-api/index.php

我必须“按原样”使用此路径,因为它是用户传递的配置选项。

3 个答案:

答案 0 :(得分:1)

require()include()应相对于已配置的include paths和当前正在执行的脚本运行。所以,这应该有效:

require_once('src/httpapi.inc.php');

但是,要完全准确,当前脚本直接工作实际上被指定为默认配置中的包含路径之一。如果你已经破坏它将不起作用。

  

使用。在包含路径中允许相对包含,因为它意味着   当前目录。

关于您的最新修改,您的路径不同,只需使用完整路径或将/home/devel/wwwroot/nm/dev/http-api/http-api/添加到您的配置并使用require_once('src/httpapi.inc.php')即可。

答案 1 :(得分:0)

 include "src/httpapi.inc.php";

答案 2 :(得分:0)

您可以使用$ _SERVER变量中的文档根目录: http://www.php.net/manual/en/reserved.variables.server.php

require_once $_SERVER['DOCUMENT_ROOT'] . '/nm/dev/http-api/http-api/src/httpapi.inc.php';