這篇文章主要介紹了php實現基於自訂函數記錄log日誌方法,涉及php針對檔案、目錄及錯誤記錄檔相關操作技巧,需要的朋友可以參考下
/** * 記錄錯誤記錄檔 * @param 日誌內容 $res */function save_log($res) { $err_date = date("Ym", time()); //$address = '/var/log/error'; $address = './error'; if (!is_dir($address)) { mkdir($address, 0700, true); } $address = $address.'/'.$err_date . '_error.log'; $error_date = date("Y-m-d H:i:s", time()); if(!empty($_SERVER['HTTP_REFERER'])) { $file = $_SERVER['HTTP_REFERER']; } else { $file = $_SERVER['REQUEST_URI']; } if(is_array($res)) { $res_real = "$error_date\t$file\n"; error_log($res_real, 3, $address); $res = var_export($res,true); $res = $res."\n"; error_log($res, 3, $address); } else { $res_real = "$error_date\t$file\t$res\n"; error_log($res_real, 3, $address); }}
var_export() 方法詳解:
var_export – 輸出或返回一個變數的字串表示
描述 :
mixed var_export ( mixed expression , bool )
此函數返回關於傳遞給該函數的變數的結構資訊,它和 var_dump() 類似,不同的是其返回的表示是合法的 PHP 代碼。
您可以通過將函數的第二個參數設定為 TRUE,從而返回變數的表示。
EG:
var_export(array('a','b',array('aa','bb','cc'))) 這種與VAR_DUMP沒什麼區別;
$var =var_export(array('a','b',array('aa','bb','cc')),TRUE)
加上TRUE後,不會再列印出來,
而是給了一個變數,這樣就可以直接輸出;
echo $var;
此時輸出來的形式與var_dump()列印的相似。
相關推薦:
PHP自訂函數判斷是否為Get/Post/Ajax提交的方法詳解
PHP自訂函數判斷是否為Get、Post及Ajax提交的方法
關於php自訂函數及內建函式講解