如何从包含的文件中的代码中回显文件名


How to echo the name of a file from code in an included file

我想返回堆栈中正在处理的第一个文件的名称。

让我解释一下:我有两个档案。

1( foo:

include("bar"(;

2( bar:

echo __ FILE__;

当我请求foo时,它显示"/home/example/bar",而我希望看到字符串"/home/enxample/foo"发生。

如何做到这一点?

__FILE__常量在设计时始终是常量出现的文件,无论加载/包含该文件的文件是什么。请改用$_SERVER['SCRIPT_NAME']

这应该可以做到:

$backtrace = debug_backtrace();
echo $backtrace[0]['file'];

http://php.net/manual/en/function.debug-backtrace.php

这应该可以做到:

echo $_SERVER['SCRIPT_FILENAME'];