从包含的文件php中获取页面调用功能的url

时间:2016-01-28 22:34:20

标签: php

我试图获取调用函数的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']但是这些都没有给我提供我想要的信息

1 个答案:

答案 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']);
    }
}

只要在父文件中调用的函数中调用它,就应该获得正确的目录。再次,我不确定这是处理这种情况的最佳方式,如果其他人有更好的解决方案,请提供