Many novices will encounter one of the most common problems that must be solved when using the php fwrite() function, which is line break writing. We all know the line break character of PHP: \n, and the carriage return character: \r. When a line break is needed, the combination "\r\n" is usually used. But
is why the \n newline character does not work when we use fwrite to write a file. This article will take you to understand what to do when the newline character does not work when the php fwrite() function writes a newline
Let’s first look at the following example:
<?php $filename = 'file.txt'; $word = '你好!\r\n欢迎来到www.php.cn'; $fh = fopen($filename, "a"); //w从开头写入 a追加写入 echo fwrite($fh, $word); fclose($fh); ?>
In the above example, we have used the carriage return and line feed character, but found that when the file.txt file was opened, the carriage return and line feed effect did not appear.
Why is this? Because the carriage return and line feed character "\r\n" is not parsed as a line feed character, but is directly output as a character.
Why does this happen and how to solve it?
In fact, it’s all caused by single and double quotation marks! We can replace the single quotes "'" in the $word definition string with double quotes """. The correct way to write it is as follows:
<?php $filename = 'file.txt'; $word = "你好!\r\n欢迎来到www.php.cn"; $fh = fopen($filename, "a"); //w从开头写入 a追加写入 echo fwrite($fh, $word); fclose($fh); ?>
Now let's open the file.txt file and take a look:
I found that there is no problem with carriage return and line feed.
[Recommended related articles]:
Detailed example of php fwrite() function appending and newline writing
The above is the detailed content of What should I do if the newline character does not work when writing with php fwrite() function?. For more information, please follow other related articles on the PHP Chinese website!