PHP文件用新行写

时间:2012-05-06 20:51:31

标签: php fopen fwrite

我正在使用文本文件创建聊天室。非常简单,但我不希望它在服务器上放置阻尼器。无论如何。当我尝试发送消息时,它会将附加的消息放在同一行中,如此

Alan,5/6/12,message<br>Joe,5/6/12,hello<br>

我希望它是

Alan,5/6/12,message
Joe,5/6/12,hello

这就是我所拥有的。

$total = 'Alan,5/6/12,hello joe<br>\r\n';
$fn = "messages.txt";
$file = fopen($fn,"a");
fwrite($fn,$total);
fclose($fn);

感谢。

3 个答案:

答案 0 :(得分:5)

$total = 'Alan,5/6/12,hello joe<br>\r\n';
如果您使用双引号,

会起作用,例如

$total = "Alan,5/6/12,hello joe<br>\r\n";
         ^--                           ^--

单引号字符串不会解释像linebreak /换行符这样的元字符,并且所有单引号版本都会在输出中添加文字rn字符。

答案 1 :(得分:2)

最后尝试使用PHP_EOL

$total = 'Alan,5/6/12,hello joe<br>' . PHP_EOL;

答案 2 :(得分:0)

由于看起来您正在编写CSV,因此您可以更简单地执行此操作:

<? //PHP 5.4+
(new \SplFileObject('messages.txt', 'a'))->fputcsv([
  'Alan',  //or $user
  \date('c'), //or other date format
  'message content', //or $message_content
]);
?>