在PHP的一些应用中需要写日志或者记录一些信息
-
可以使用
fopen(),fwrite()
以及fclose()
这些进行操作。 -
也可以简单的使用
file_get_contents()
和file_put_contents()
-
file_put_contents()
写文件。默认的是重新写文件,也就是会 替换原先的内容。追加的话使用参数FILE_APPEND
以追加形式写入内容 当设置 flags
参数值为 FILE_APPEND
时,表示在已有文件内容后面追加内容的方式写入新数据
//log
$tmpArr = array();
if($r->isGet){
$tmpArr = $r->get();
}else if($r->isPost){
$tmpArr = $r->post();
}
$jsonStr = json_encode($tmpArr);
$payLogFile = './uploads/payLogs.txt';
$newLog ='log_time:'.date('Y-m-d H:i:s').$jsonStr;
file_put_contents($payLogFile, $newLog.PHP_EOL, FILE_APPEND);
-
很多时候记录日志需要换行。不建议使用
\r\n
,因为:- 在
windows
中\r\n
是换行 - 在
Mac
中\r
是换行 - 在
Liunx
中\n
是换行
- 在
-
但是PHP提供了一个常量来匹配不同的操作系统,即:
PHP_EOL
-
实例:
file_put_contents("log.txt", "Hello world everyone.".PHP_EOL, FILE_APPEND);
file_put_contents($payLogFile, $newLog.PHP_EOL, FILE_APPEND);