文件/dir/dir_a/a.php
包含文件/dir/dir_b/b.php
,它位于不同的目录中。
如果我尝试在dirname(__FILE__)
中使用getcwd()
或b.php
获取父目录,结果总是dir_b
,毫不奇怪。
有没有办法在dir_a
中使用代码获取b.php
的名称?
这是完全正常的,因为文件和目录的magic constants总是引用它们所在的脚本。
对于你想要的,你只需要使用:
// in b.php /dir/dir_a is
$dir_a_path = __DIR__ . '/../dir_a';
// in a.php, you can
include(__DIR__ . '/../dir_b/b.php');
/将在任何地方(甚至是窗口)工作,因为我们正在使用完整路径。 DIR是使用它的脚本所在的目录完整路径的魔术常量。