Написание TXT-файла на PHP, хочу добавить фактический разрыв строки - PullRequest
16 голосов
/ 04 октября 2010

Я пишу TXT-файл, используя PHP. Я хочу вставить фактические разрывы строк в файл TXT, где это необходимо. Я перепробовал все комбинации \ n \ r \ r \ n \ n \ r ... но они не приводят к появлению каких-либо разрывов строк - в большинстве случаев я вижу текст "\ n" в файле TXT, без разрыва строки.

Я также пробовал chr (13).

Любые другие идеи будут оценены.

Ответы [ 5 ]

30 голосов
/ 04 октября 2010

Чтобы "\ n" работал, вам нужно использовать двойные кавычки, а не '\ n'.

Но вместо этого следует использовать константу PHP_EOL , так что он автоматически адаптируется к ОС ("\ n", "\ r" или "\ r \ n").

file_put_contents('file.txt', 'Bla' . PHP_EOL . 'Bla');
21 голосов
/ 04 октября 2010

Похоже, вы используете одинарные кавычки, то есть '\n' вместо "\n".

Если вы хотите продолжить с одиночным смещением кавычек (как вы должны!), Два варианта:

file_put_contents('/path/to/file.txt', 'Hello friend!
This will appear on a new line.
As will this');

// or

file_put_contents('/path/to/file.txt', 'Hello friend!'."\n".'This will appear on a new line.'."\n".'As will this');
3 голосов
/ 04 октября 2010

\ r \ n на сервере Windows \ n в Linux Убедитесь, что вы загрузили файл как ASCII.

1 голос
/ 29 августа 2012

Вы также можете использовать chr(10), что означает разрыв строки.

1 голос
/ 04 октября 2010

Вы должны написать \n в строке в двойных кавычках (в строках в одинарных кавычках разбор не выполняется):

"foo\r\nbar"

Дополнительная ссылка:

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

...