君山 发表于 2021-12-21 19:57:36

php fwrite()函数换行写入时换行符不起作用怎么办

很多新手在使用php fwrite()函数会遇到一个最常见但又必须解决的问题,那就是换行写入。php的换行符我们都知道:\n ,回车符:\r,在需要换行时,通常是用“\r\n”这个组合。但
是为什么我们在使用fwrite写入文件时\n换行符不起作用呢。本篇文章就带你了解当php fwrite()函数换行写入时换行符不起作用怎么办?

我们先看下面这个例子:


$filename = 'file.txt';
$word = '你好!\r\n欢迎来到www.php.cn';
$fh = fopen($filename, "a"); //w从开头写入 a追加写入
echo fwrite($fh, $word);
fclose($fh);
?>

上面这个例子我们已经使用了回车换行符,但是发现,当打开file.txt文件时,并没有出现回车换行的效果。




这是为什么呢?因为这个回车换行符“\r\n”并没有被解析为换行符,而是直接被当作一个字符输出来了。

为什么会出现这种情况,又该怎么解决呢?

其实都是单双引号惹的祸!我们把$word定义字符串的单引号“'”换为双引号“"”就可以了。正确的写法如下:


$filename = 'file.txt';
$word = "你好!\r\n欢迎来到www.php.cn";
$fh = fopen($filename, "a"); //w从开头写入 a追加写入
echo fwrite($fh, $word);
fclose($fh);
?>

现在我们再打开file.txt文件看一下:


发现回车换行已经完全没有问题了。
页: [1]
查看完整版本: php fwrite()函数换行写入时换行符不起作用怎么办