在PHP中,需要在必需的文件?

时间:2013-02-15 12:32:19

标签: php require

在php中,如果我有一个文件需要来自子目录的文件,如:

require('directory/file.php');

file.php想要在自己的目录中需要另一个文件,是相对于file.php的路径还是包含在其中的文件?

3 个答案:

答案 0 :(得分:5)

如果有意义,它与原始需求文件相关。

所以,如果你有一个名为index的文件,如下所示:

require("./resources/functions.inc.php");

然后functions.inc.php需要看起来像这样:

require("./resources/anotherFunctionsFile.inc.php");

而不是:

require("anotherFunctionsFile.inc.php);

但实际上你应该使用__DIR__常量,它始终是脚本运行的目录;它让事情变得更容易。

有关__DIR__和其他常量的更多信息:http://php.net/manual/en/language.constants.predefined.php

我希望有所帮助。

答案 1 :(得分:3)

它与主脚本有关,在本例中为A.php。请记住require()只是将代码插入当前运行的脚本中。

  

也就是说,从

调用require()的文件是否重要

没有

如果你想让它变得重要,并且相对于B.php做一个require(),那么使用__FILE__常量(或自PHP 5.3以来的__DIR__),它总是指向当代码所在的那一行的文字当前文件。

include(dirname(__FILE__)."/C.PHP");

答案 2 :(得分:1)

include(dirname(__FILE__).'/include.php');

参考:http://php.net/manual/en/language.constants.predefined.php

文件的完整路径和文件名。如果在include中使用,则返回包含文件的名称。从PHP 4.0.2开始,FILE总是包含已解析符号链接的绝对路径,而在旧版本中,它在某些情况下包含相对路径。