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:
http://es2.php.net/manual/en/language.types.string.php
you could also use chr(10)
which is line break.