在 php 中,如果我有一个文件需要来自子目录的文件,例如:
require('directory/file.php');
并且file.php
想要在自己的目录中需要另一个文件,路径是相对于file.php
它还是包含在其中的文件?
如果有意义的话,它是相对于原始要求文件的。
因此,如果您有一个名为 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
我希望这会有所帮助。
它与主脚本相关,在本例中为 A.php。请记住,require()
只是将代码插入到当前运行的脚本中。
也就是说,
require()
从哪个文件调用它是否重要
不。
如果你想让它变得重要,并且require()
相对于 B.php,请使用__FILE__
常量(或__DIR__
自 PHP 5.3 起),如果代码位于该行,它将始终指向该行的文字当前文件。
include(dirname(__FILE__)."/C.PHP");
include(dirname(__FILE__).'/include.php');
参考: http: //php.net/manual/en/language.constants.predefined.php
文件的完整路径和文件名。如果在包含中使用,则返回包含文件的名称。自 PHP 4.0.2 起,FILE 始终包含一个绝对路径,其中符号链接已解析,而在旧版本中,它在某些情况下包含相对路径。