I am writing a TXT file using PHP. I want to insert actual line breaks into the TXT file wherever necessary. I have tried all combinations of \n \r \r\n \n\r ... but these are not causing any linebreaks to appear - in most cases, I am seeing the text "\n" appear in the TXT file, with no linebreak.
I have also tried chr(13).
Any other ideas would be appreciated.
Sounds to me like you might be using single quotes, i.e. '\n' rather than "\n".
If you wanted to continue with a single quotes bias (as you should!), two options:
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');
For "\n" to work, you need to use double quotes, not '\n'.
But you should use the constant PHP_EOL instead, so that it adapts automatically to the OS ("\n", "\r" or "\r\n").
file_put_contents('file.txt', 'Bla' . PHP_EOL . 'Bla');
\r\n in a windows server \n in linux Make sure you upload the file as ASCII.
You must write \n in a double-quoted string (in single-quoted strings no parsing takes place):
"foo\r\nbar"
Further reference:
you could also use chr(10) which is line break.
来源:https://stackoverflow.com/questions/3857038/writing-txt-file-with-php-want-to-add-an-actual-line-break