在包含文件夹的父目录中包含文件失败

时间:2013-06-24 21:54:05

标签: php directory relative-path include-path

我在.htaccess文件中包含了一个包含某些类的文件夹。

public_html下更深处的某处,我包含了此文件夹中的PHP文件。工作正常,include_path生效。

但如果我写这样的话:

require_once '../DB.php';

它失败了?

此文件位于包含文件夹的上方,为什么PHP引擎无法找到它?

1 个答案:

答案 0 :(得分:2)

始终从当前工作目录(通常称为CWD)解释相对路径。对于Web请求,这通常是获取请求处理的文件目录,但可以随时使用chdir()进行更改,您可以使用getcwd()检查其当前值。

如果你希望你的代码对cwd具有弹性,你可以使用__DIR__魔法常量,或者如果你使用古老的php版本(5.3之前),你的包含中的dirname(__FILE__)就像这样:

require_once __DIR__.'/../DB.php';