用新行写文本文件

时间:2012-01-05 17:35:46

标签: php

我使用以下方法写入log.txt

public function write($message, $file=null, $user=null)
{
    $message = date("d/m/y : H:i:s", time())  .' - '.$message;
    $message .= is_null($file) ? '' : " in $file";
    $message .= is_null($user) ? '' : " by $user";
    $message .= "\n";
    return file_put_contents( $this->logfile, $message, FILE_APPEND );
}

但是当我检查track.log文件时,它真的很乱,但我现在想要的是每个新的日志评论都应该进入新的界限。

2 个答案:

答案 0 :(得分:6)

在邮件末尾使用常量PHP_EOL(甚至可能是2次),以获得文本文件中最佳的新行行为。

答案 1 :(得分:2)

您应该使用"\r\n"代替"\n"。在某些程序(例如记事本)中,如果未在新行"\r"之前放置回车转义字符序列"\n",则会在一行中看到所有程序。

使用常量PHP_EOL时,它会因操作系统而异。例如,如果在Windows中运行脚本,PHP_EOL的值为“\ r \ n”,但如果在linux中运行相同的脚本,则只能获得“\ n”。