2012-01-05 31 views
1

私は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ファイル、その本当に厄介をチェックし、しかし、私が今したいときには、すべての新しいログコメントです新ラインに入るはずです。

答えて

6

メッセージ末尾に定数PHP_EOLを使用して、テキストファイルの新しい行の動作を最適化します。

2

"\n"の代わりに"\r\n"を使用する必要があります。新しい行"\n"の前にキャリッジリターンエスケープ文字シーケンス"\r"を置かないと、いくつかのプログラム(たとえばメモ帳)にすべてが1行で表示されます。

定数PHP_EOLを使用すると、オペレーティングシステムによって異なります。たとえば、Windowsでスクリプトを実行するとPHP_EOLの値は "\ r \ n"になりますが、Linuxで同じスクリプトを実行すると "\ n"しか得られません。