在PHP中写入文本文件时,换行符不起作用

JM4*_*JM4 29 php fopen fwrite text-files

我有以下测试脚本:

<?php

$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "Floppy Jalopy\n";
fwrite($fh, $stringData);
$stringData = "Pointy Pinto\n";
fwrite($fh, $stringData);
fclose($fh);

?>
Run Code Online (Sandbox Code Playgroud)

然而,当运行并打开usign记事本时,数据将在一行中返回而不会中断:

软盘Jalopy(疯狂的盒子)Pointy Pinto(疯狂的盒子)

我无法找到"疯狂的盒子"的合适角色,但它是一个非常疯狂的盒子.是什么赋予了!

Eva*_*ski 59

最好用PHP_EOL.这是跨平台的,因此它会自动为PHP当前运行的平台选择正确的换行符.

$stringData = "Floppy Jalopy" . PHP_EOL;
Run Code Online (Sandbox Code Playgroud)

PHP常量

  • 如果文件总是在运行脚本的同一平台上使用,那么使用`PHP_EOL`只是"最好的".根据我的经验,大多数时候您创建要下载,通过电子邮件发送或解析的文件 - 所有情况下您需要具有*特定*换行符的文件,而不是脚本恰好运行的平台之一. (7认同)

And*_*eKR 35

如果要在Windows记事本中打开文件,则必须使用Windows换行符: \r\n

  • 如果你在Wordpad中打开它,它将处理`\n`或`\ r \n`,许多其他编辑器也会如此,但记事本很挑剔. (2认同)