我试图获取调用函数的php文件的url。例如
//page1.php
<?php
require 'page2.php';
somefunction();
?>
//page2.php
<?php
function somefunction(){
echo //some way to find calling pages url
}
?>
这可能吗?
我尝试了$_SERVER['request_uri']
,$_SERVER['SCRIPT_NAME']
,__FILE__
,$_SERVER['REFERER']
但是这些都没有给我提供我想要的信息
答案 0 :(得分:0)
感谢@The Humble Rat,我找到了办法。我不确定这是处理这类任务的最佳方法,但我使用调试回溯来选择文件。主要的是在文件将相同的地方捕获回溯。 所以在每个可以从另一个函数调用的函数中我使用了这个函数
if(!function_exists('foil_uri')){
function foil_uri(){
//use index: 1 because 0 will be the trace when this function is called
return dirname(debug_backtrace()[1]['file']);
}
}
只要在父文件中调用的函数中调用它,就应该获得正确的目录。再次,我不确定这是处理这种情况的最佳方式,如果其他人有更好的解决方案,请提供