从include()获取调用文件名的方法是使用__FILE__
常量。__FILE__
常量返回当前文件的绝对路径,可以通过这个常量来获取调用文件的路径和名称。
例如,在文件a.php
中,我们可以使用__FILE__
常量来获取当前文件的路径和名称:
<?php
echo "当前文件名:" . basename(__FILE__);
?>
这将输出:
当前文件名:a.php
如果我们在另一个文件b.php
中包含a.php
,则__FILE__
常量将返回b.php
的路径和名称:
<?php
include 'a.php';
?>
在这种情况下,__FILE__
常量将返回b.php
的路径和名称,而不是a.php
的路径和名称。
如果我们需要获取调用文件的路径和名称,而不是当前文件的路径和名称,则可以使用debug_backtrace()
函数来获取调用堆栈信息,然后从中提取调用文件的路径和名称。例如:
<?php
function get_caller_file() {
$backtrace = debug_backtrace();
$caller_file = $backtrace[2]['file'];
return $caller_file;
}
function include_and_echo() {
include 'a.php';
}
echo "调用文件名:" . basename(get_caller_file());
include_and_echo();
?>
这将输出:
调用文件名:b.php
在这个例子中,get_caller_file()
函数使用debug_backtrace()
函数获取调用堆栈信息,然后从中提取调用文件的路径和名称。include_and_echo()
函数包含a.php
文件,但是get_caller_file()
函数返回的是调用它的文件b.php
的路径和名称。
领取专属 10元无门槛券
手把手带您无忧上云