首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP获取从中调用当前函数的文件名

问PHP获取从中调用当前函数的文件名
EN

Stack Overflow用户
提问于 2014-01-28 23:13:06
回答 4查看 149关注 0票数 1

我正在尝试想出一种方法,让函数知道调用它的文件的路径。假设我在文件123.php中有函数f()。我从文件abc.php调用f()。我希望f()能够找出它是从abc.php调用的,以及到abc.php的路径。

请帮帮我,谢谢。

编辑:我在test.php中有一个可以从ajax调用的函数,类似于

代码语言:javascript
复制
function getSomething($params){
    check($params);

    check($params);
}

它将一个函数check执行两次。

我在common.php中有另一个名为check()的函数,类似于

代码语言:javascript
复制
function check($params){
  //Here, i want know where the file name and line at which it has been called.
}

编辑:需要获取函数被触发的行,才能签入签到函数。

它已经在test.php中执行了两次

第一次执行->我们需要获取test.php,第一个函数调用的行

第二次执行->我们需要获取test.php,第二行函数

EN

回答 4

Stack Overflow用户

发布于 2014-01-28 23:18:25

您需要obtain a backtrace并从结果数组中提取信息。请注意,在PHP/5.4之前,您无法限制跟踪的深度,因此输出可能会相当大。可以将其用于调试目的,但我不会将其用于任何其他目的。

票数 2
EN

Stack Overflow用户

发布于 2014-01-28 23:15:52

常量__FILE__包含文件名和完整路径(参见http://www.php.net/manual/en/language.constants.predefined.php)。这将更改为所包含的库等。

您可能需要的是:

$_SERVER"PHP_SELF“,它反映了当前运行的脚本。

票数 0
EN

Stack Overflow用户

发布于 2014-01-28 23:16:24

您可以查看debug_backtrace() http://nl3.php.net/debug_backtrace。此函数返回包含所有文件的数组

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21409412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档