获取运行 PHP 的文件的文件名,包括
使用PHP时,我怎样才能知道哪个文件在调用?简而言之,父文件文件名是什么?include
include
使用PHP时,我怎样才能知道哪个文件在调用?简而言之,父文件文件名是什么?include
include
一种简单的方法是在父文件中分配一个变量(在包含之前),然后在包含的文件中引用该变量。
父文件:
$myvar_not_replicated = __FILE__; // Make sure nothing else is going to overwrite
include 'other_file.php';
包含的文件:
if (isset($myvar_not_replicated)) echo "{$myvar_not_replicated} included me";
else echo "Unknown file included me";
你也可以搞砸get_included_files()
或debug_backtrace(),
并在包含文件的时间和地点找到事件,但这可能会变得有点混乱和复杂。
$fileList = get_included_files();
$topMost = $fileList[0];
if ($topMost == __FILE__) echo 'no parents';
else echo "parent is $topMost";
我认为当有单亲父母时,这应该给出正确的结果。
我的意思是父文件本身不是必需的或包含文件的情况。