3

我正在使用文本文件制作聊天室。很简单,但我不希望它在服务器上安装阻尼器。无论如何。当我尝试发送消息时,它会将附加的消息放在同一行,如下所示

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);

谢谢。

4

3 回答 3

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

如果您使用双引号会起作用,例如

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

单引号字符串不会解释换行符/换行符之类的元字符,而单引号版本所做的只是将文字rn字符放入输出中。

于 2012-05-06T20:58:35.000 回答
2

最后尝试使用PHP_EOL

$total = 'Alan,5/6/12,hello joe<br>' . PHP_EOL;
于 2012-05-06T20:52:50.430 回答
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
]);
?>
于 2012-05-06T20:58:27.740 回答