web-dev-qa-db-ja.com

PHPテキストファイルで改行が機能しない

PHPコードを使用しています:

$numberNewline = $number . '\n';
fwrite($file, $numberNewline);

$ numberをファイルに書き込む。

何らかの理由で、ファイルに\ nが表示されます。私はMacにいます。何が問題なのでしょうか?

29
JJJollyjim
$numberNewline = $number . "\n";
fwrite($file, $numberNewline);

これを試して

40
borayeris

'\n'単一引用符はリテラル\n
"\n"は二重引用符で囲まれ、改行として解釈されます。

http://php.net/manual/en/language.types.string.php

59
deceze

「\ n」を挿入しても結果が得られない場合は、「復帰」と「改行」を追加する「\ r\n」を試すこともできます。

35
Serge Stepanov

PHP_EOLを使用します。 PHP_EOLはプラットフォームに依存しない優れたアプローチです。

$numberNewline = $number .PHP_EOL;
fwrite($file, $numberNewline);

PHP_EOLはクロスプラットフォーム互換(DOS/Mac/Unix)です。

20
vineet

新しい行が表示されない理由は、.txtファイルがそのデータをスタックのように書き込むためです。最初から書き込みを開始し、それが終了すると、点滅する行(次の文字がどこに行くかを示す行)が先頭に戻ります。したがって、「\ n」は最初に行かなければなりません。

書く代わりに:

<?php
     $sampleLine = $variable . "\n";
     $fwrite($file, $sampleLine);
?>

あなたは書くべきです:

<?php
     $sampleLine = "\n" . $variable;
     $fwrite($file, $sampleLine);
?>
1
Jessica

上記のどれも私にとってはうまくいきませんでしたが、とても簡単でした-ここにコードがあります... KISSメソッドを使用してください。

echo file_put_contents("test.txt","\r\n \r\n$name \r\n$email \r\n$phone", FILE_APPEND);

新しい空白行を設定し、一度に1行を追加します。

0
Karl Rapson

$ numberNewline = $ number。 '\ r\n';

fwrite($ file、$ numberNewline);

これを試して

0
ketan chaudhari