我想返回堆栈中正在处理的第一个文件的名称。
让我解释一下:我有两个档案。
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'];