首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >查找在PHP中调用我的函数的文件名

查找在PHP中调用我的函数的文件名
EN

Stack Overflow用户
提问于 2009-12-20 21:46:39
回答 4查看 24.2K关注 0票数 29

如何找到调用我的函数的脚本的文件名?

例如,

代码语言:javascript
复制
function sthing() {
echo __FILE__; // echoes myself
echo __CALLER_FILE__; // echoes the file that called me
}
EN

回答 4

Stack Overflow用户

发布于 2016-03-31 02:46:35

尝试以下代码:

代码语言:javascript
复制
$key = array_search(__FUNCTION__, array_column(debug_backtrace(), 'function'));
var_dump(debug_backtrace()[$key]['file']);
票数 10
EN

Stack Overflow用户

发布于 2009-12-20 21:58:38

除了Pascal Martins的建议之外,您还可以安装PECL扩展APD并使用类似apd_callstack()的东西(引用示例)

代码语言:javascript
复制
// returns an array containing an array of arrays.

Each array appears to contain:
[0] = function name
[1] = filename that contains function
[2] = *calling* line number in *calling* file
[3] = An array which is usually empty

但由于这是一个PECL扩展,可能会干扰Zend Optimizer,您最好使用debug_backtrace()。

票数 3
EN

Stack Overflow用户

发布于 2021-05-08 16:43:08

这将打印出file_name:line

代码语言:javascript
复制
function myFunction() {
  $backfiles = debug_backtrace();
  echo $backfiles[0]['file'] . ':' . $backfiles[0]['line'];
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1935867

复制
相关文章

相似问题

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