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 に答える