好的,这是一个真正的简短查询.
我从函数内部调用__FILE__.
现在,此函数本身位于必需文件中.
现在,当我从Parent文件中调用此函数时,__ FILE__会输出父文件还是包含的文件?
哦,我正在寻找一个我可以确认的来源,如果可能的话,因为我在这里的测试给了我完全荒谬的结果.
此外,如果这应该显示子(包含)文件,我应该怎么做才能显示父文件路径? (某些变化或什么?)
解决方法:
__FILE__始终替换为符号出现的文件名.
要获取调用函数的文件的名称,可以使用debug_backtrace()
.这将返回当前的callstack作为数组,每个子数组包含进行调用的文件,行和功能键.
a.PHP只会:
<?PHP
require_once('b.PHP');
b();
b.PHP:
<?PHP
function b() {
$bt = debug_backtrace();
var_export($bt);
}
输出:
array (
0 => array (
'file' => '/home/meagar/a.PHP',
'line' => 5,
'function' => 'b',
'args' => array( ),
),
)
a.PHP只会:
<?PHP require_once('b.PHP');
b.PHP:
<?PHP
$bt = debug_backtrace();
var_export($bt);
输出:
array (
0 => array (
'file' => '/home/meagar/a.PHP',
'line' => 3,
'function' => 'require_once',
),
)