在php中,如果我有一个文件需要来自子目录的文件,如:
require('directory/file.php');
和file.php
想要在自己的目录中需要另一个文件,是相对于file.php
的路径还是包含在其中的文件?
答案 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总是包含已解析符号链接的绝对路径,而在旧版本中,它在某些情况下包含相对路径。