Решением может быть использование функции debug_backtrace
: в обратной трассировке должна присутствовать такая информация.
Или, как отметил Гордон в комментарии, вы также можете использовать debug_print_backtrace
, если вы просто хотите выводить эту информацию, а не работать с ней.
Например, с temp.php
, содержащим это:
<?php
include 'temp-2.php';
my_function();
и temp-2.php
, содержащий это:
<?php
function my_function() {
var_dump(debug_backtrace());
}
Вызов temp.php
(i.e. the first script)
из моего браузера дает мне такой вывод:
array
0 =>
array
'file' => string '/.../temp/temp.php' (length=46)
'line' => int 5
'function' => string 'my_function' (length=11)
'args' =>
array
empty
Там у меня есть имя файла "temp.php
" - то, в котором была вызвана функция.
Конечно, вам придется протестировать немного больше (особенно в ситуациях, когда функция находится не во включенном файле «первого уровня», а в файле, включенном другим - не уверен, что debug_backtrace
поможет много там ...) ; но это может помочь вам получить первое представление ...