Новая строка PHP не работает в текстовом файле - PullRequest
28 голосов
/ 01 февраля 2011

Я использую код PHP:

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

для записи $ number в файл.

По какой-то причине \ n появляется в файле. Я на маке. В чем может быть проблема?

Ответы [ 7 ]

58 голосов
/ 01 февраля 2011

'\n' в одинарных кавычках - это литерал \n.
"\n" в двойных кавычках интерпретируется как разрыв строки.

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

40 голосов
/ 01 февраля 2011
$numberNewline = $number . "\n";
fwrite($file, $numberNewline);

Попробуйте это

35 голосов
/ 01 февраля 2011

Если вставка «\ n» не дает никаких результатов, вы также можете попробовать «\ r \ n», который добавляет «возврат каретки» и «новую строку».

20 голосов
/ 04 июня 2015

Использовать PHP_EOL . PHP_EOL - это независимый от платформы и хороший подход.

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

PHP_EOL является кросс-платформенным (DOS / Mac / Unix).

1 голос
/ 23 апреля 2013

Причина, по которой вы не видите новую строку, заключается в том, что .txt-файлы записывают свои данные в виде стека.Он начинает писать с начала, а затем по окончании мигающая строка (та, которая указывает, куда пойдет ваш следующий персонаж) возвращается к началу.Итак, ваш "\ n" должен идти в начале.

Вместо записи:

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

Вы должны написать:

<?php
     $sampleLine = "\n" . $variable;
     $fwrite($file, $sampleLine);
?>
0 голосов
/ 07 января 2017

$ numberNewline = $ number. '\ Г \ п';

fwrite ($ file, $ numberNewline);

Попробуйте это

0 голосов
/ 09 августа 2015

Ничего из вышеперечисленного не помогло мне, но это было так просто - вот код пожалуйста, используйте метод KISS.

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

Он устанавливает новую пустую строку и затем добавляет одну строку за раз.

...