1

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

在更深的地方,public_html我在这个文件夹中包含了一个 PHP 文件。工作正常,include_path有效。

但如果我写这样的东西:

require_once '../DB.php';

它失败?

这个文件就在包含的文件夹上面,为什么PHP引擎找不到呢?

4

1 回答 1

2

相对路径总是从当前工作目录(通常称为 CWD)解释。对于 web 请求,这通常是处理请求的文件目录,但可以随时使用 更改chdir(),您可以使用 . 检查它的当前值getcwd()

如果您希望您的代码对 cwd 具有弹性,您可以使用__DIR__魔术常量,或者如果您使用的是古老的 php 版本(5.3 之前),则dirname(__FILE__)可以在包含中使用,如下所示:

require_once __DIR__.'/../DB.php';
于 2013-06-24T21:57:28.713 回答