php 獲取函式被呼叫位置
# get_caller.php
-
<?php
-
-
function get_caller_info($logFile = "call_info.log"){
-
$callInfos = array();
-
$callFuncs = array();
-
$curTime = date('y-m-d h:i:s',time());
-
$traces = debug_backtrace();
-
$j = 0;
-
$length = count($traces)-1;
-
for ($i = $length; $i >=0; $i--){
-
$trace = $traces[$i];
-
$file = $trace['file'];
-
$line = $trace['line'];
-
$func = $trace['function'];
-
$args = $trace['args'];
-
$argsv = join(",", $args);
-
$tInfo = $curTime." ".$file."(".$line.")->".$func."(".$argsv.")";
-
array_push($callInfos, $tInfo);
-
$tFunc = $file."->".$func."()";
-
array_push($callFuncs, $tFunc);
-
$j++;
-
}
-
-
$callInfoStr = join(";",$callInfos);
-
$callFuncStr = join(";",$callFuncs);
-
$callFuncMd5 = $curTime." ".md5($callFuncStr);
-
file_put_contents($logFile, $callFuncMd5."\n",FILE_APPEND);
-
-
$logFileMd5 = $logFile.".md5";
-
$contMd5 = $callFuncMd5.":".$callInfoStr;
-
file_put_contents($logFileMd5, $contMd5."\n",FILE_APPEND);
-
-
return $callInfos;
-
}
-
- ?>
# test_caller.php
點選(此處)摺疊或開啟
-
<?php
-
require dirname(__FILE__).'/get_caller.php';
-
-
function b($pa,$pb){
-
$t=$pa.$pb;
-
get_caller_info();
-
return $t;
-
}
-
-
function c($pa,$pb,$pc){
-
$t=$pa.$pb.$pc;
-
get_caller_info();
-
return $t;
-
}
-
function a() {
-
b('b1','b2');
-
for ($i = 0; $i <10; $i++){
-
c('c'.$i,'c2','c3');
-
}
-
}
-
-
a();
-
- ?>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26250550/viewspace-2127637/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 教你在Nodejs中如何獲取當前函式被呼叫的行數及檔名NodeJS函式
- PHP獲取和操作配置檔案php.ini的幾個函式PHP函式
- 巧用PHP函式或常量快速獲取PHP版本號、最大檔名長度PHP函式
- PostgreSQL 函式獲取表DDLSQL函式
- 獲取位置資訊
- react native 獲取地理位置React Native
- android獲取位置並上傳Android
- 智慧手環如何獲取位置?
- 子函式呼叫函式
- 函式呼叫棧函式
- shell指令碼獲取函式返回值指令碼函式
- php 函式PHP函式
- php函式PHP函式
- PHP 函式PHP函式
- 使用 PHP 的 Filter 函式(過濾器)高效、安全地獲取請求引數PHPFilter函式過濾器
- input 獲取游標位置與設定游標位置
- Java根據地理位置獲取經緯度(呼叫百度地圖API)Java地圖API
- QT槽函式獲取訊號傳送物件QT函式物件
- C++ 獲取指定的過載函式地址C++函式
- 外部函式的呼叫函式
- gdb 如何呼叫函式?函式
- C程式函式呼叫&系統呼叫C程式函式
- PostgreSQL函式裡呼叫函式(SETOF + RETURN QUERY)SQL函式
- 普通函式與函式模板呼叫規則函式
- Laravel 自定義函式存放位置Laravel函式
- PHP 都有,Go 憑什麼不支援命名引數呼叫函式?PHPGo函式
- PHP 常用函式PHP函式
- PHP匿名函式PHP函式
- PHP常用函式PHP函式
- PHP函式大全PHP函式
- PHP函式mktimePHP函式
- PHP字串函式PHP字串函式
- 呼叫百度api透過經緯度獲取實際地理位置資訊API
- 談談iOS獲取呼叫鏈iOS
- postman自動呼叫獲取tokenPostman
- PHP 每日一函式 — 字串函式 crypt ()PHP函式字串
- PHP 每日一函式 — 字串函式 chr ()PHP函式字串
- PHP 每日一函式 — 字串函式 addslashes ()PHP函式字串
- PHP 每日一函式 — 字串函式 addcslashes ()PHP函式字串