我正在尝试想出一种方法,让函数知道调用它的文件的路径。假设我在文件123.php中有函数f()。我从文件abc.php调用f()。我希望f()能够找出它是从abc.php调用的,以及到abc.php的路径。
请帮帮我,谢谢。
编辑:我在test.php中有一个可以从ajax调用的函数,类似于
function getSomething($params){
check($params);
check($params);
}它将一个函数check执行两次。
我在common.php中有另一个名为check()的函数,类似于
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,第二行函数
发布于 2014-01-28 23:18:25
您需要obtain a backtrace并从结果数组中提取信息。请注意,在PHP/5.4之前,您无法限制跟踪的深度,因此输出可能会相当大。可以将其用于调试目的,但我不会将其用于任何其他目的。
发布于 2014-01-28 23:15:52
常量__FILE__包含文件名和完整路径(参见http://www.php.net/manual/en/language.constants.predefined.php)。这将更改为所包含的库等。
您可能需要的是:
$_SERVER"PHP_SELF“,它反映了当前运行的脚本。
发布于 2014-01-28 23:16:24
您可以查看debug_backtrace() http://nl3.php.net/debug_backtrace。此函数返回包含所有文件的数组
https://stackoverflow.com/questions/21409412
复制相似问题