PHP 文件换行写入

问题描述 投票:0回答: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);

谢谢。

php fopen fwrite
3个回答
5
投票
$total = 'Alan,5/6/12,hello joe<br>\r\n';

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

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

单引号字符串不会解释像换行符/换行符这样的元字符,并且单引号版本所做的只是将文字

r
n
字符放入输出中。


2
投票

尝试在最后使用

PHP_EOL

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

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
]);
?>
© www.soinside.com 2019 - 2024. All rights reserved.