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函式
- PHP獲取和操作配置檔案php.ini的幾個函式PHP函式
- C語言ftell()函式:獲取檔案讀寫指標的當前位置C語言函式指標
- 巧用PHP函式或常量快速獲取PHP版本號、最大檔名長度PHP函式
- PostgreSQL 函式獲取表DDLSQL函式
- JQuery獲取滑鼠位置jQuery
- php字串擷取函式,支援中文擷取PHP字串函式
- PHP列印呼叫函式入口地址(堆疊),方便調式PHP函式
- PHP獲取指定函式定義在哪個檔案中及行號PHP函式
- C語言getgroups()函式:獲取組程式碼函式C語言函式
- eclipse中檢視某個方法(函式)被誰呼叫Eclipse函式
- php取整函式ceil,floor,round,intval函式的區別PHP函式
- 視窗屬性的獲取函式函式
- 用前面建立的函式獲取物件函式物件
- PHP-stacktrace: PHP 程式外檢視函式呼叫堆疊PHP函式
- php鏈式呼叫PHP
- 智慧手環如何獲取位置?
- 獲取跟蹤檔案位置
- 使用DbgHelp獲取函式呼叫堆疊之inline assembly(內聯彙編)法函式inline
- 子函式呼叫函式
- php 獲取IPPHP
- shell指令碼獲取函式返回值指令碼函式
- 獲取javascript函式形參的數目JavaScript函式
- 反射如何獲取函式的引數名反射函式
- sql 獲取系統時間的函式。SQL函式
- input 獲取游標位置與設定游標位置
- 微信小程式獲取當前位置微信小程式
- react native 獲取地理位置React Native
- 獲取棧中任意位置的元素
- android獲取位置並上傳Android
- Java根據地理位置獲取經緯度(呼叫百度地圖API)Java地圖API
- 呼叫百度api透過經緯度獲取實際地理位置資訊API
- php函式PHP函式
- PHP 函式PHP函式
- php 函式PHP函式
- 使用 PHP 的 Filter 函式(過濾器)高效、安全地獲取請求引數PHPFilter函式過濾器
- php呼叫mysql儲存過程和函式的方法(轉)PHPMySql儲存過程函式