php輸出日志的實現
思想:在想要輸出log日志的地方,使用php的寫入文件函數,把數據寫入到事先定義好的文件中。
php代碼如下:
//輸出日志
public function outputLog() {
logOutput(time());
sleep(3);
$arr = array("k1" => "v1", "k2" => "v2");
logOutput($arr);
$this->display();
}
logOutput()函數:
/**
* @param string,array $data 需要輸出到日志中的數據
* @return null
*/
function logOutput($data) {
//數據類型檢測
if (is_array($data)) {
$data = json_encode($data);
}
$filename = "./log/".date("Y-m-d").".log";
$str = date("Y-m-d H:i:s")." $data"."\n";
file_put_contents($filename, $str, FILE_APPEND|LOCK_EX);
return null;
}


file_put_contents() 函數把一個字符串寫入文件中。
與依次調用 fopen(),fwrite() 以及 fclose() 功能一樣。
語法
file_put_contents(file,data,mode,context)
參數 描述
file 必需。規定要寫入數據的文件。如果文件不存在,則創建一個新文件。
data 可選。規定要寫入文件的數據。可以是字符串、數組或數據流。
mode 可選。規定如何打開/寫入文件。可能的值:
FILE_USE_INCLUDE_PATH
FILE_APPEND 追加數據而不是覆蓋
LOCK_EX 寫入數據時,鎖住文件,防止其他人對文件的改動
context 可選。規定文件句柄的環境。(不懂何用)
context 是一套可以修改流的行為的選項。若使用 null,則忽略。
- 意義:
- 在可能出錯的地方,進行調試時,輸出錯誤信息
- 輸出變量,進行調試,可以避免平常的var_dump、dump函數打印一長串的數據,影響頁面布局
