如何使用PHP在文本文件中的新行上进行编写


How to write on a new line in a text file using PHP?

我正在尝试使用PHP在文本文件中进行编写。每个$result字符串都必须在txt文件中的新行上,但当我键入该字符串时,所有$result字符串都在同一行上。问题出在哪里?

这是我的代码:

$result=date("Y.m.d").'!'.$_POST['name'].'!'.$_POST['price'].'!'.$selectedGroup."'n";
file_put_contents('data.txt', $result,FILE_APPEND)

使用PHP_EOL预定义常量:

file_put_contents('data.txt', $result . PHP_EOL, FILE_APPEND);

来自手册:

PHP_EOL(字符串)

此平台的正确"终点"符号。

自PHP 4.3.10和PHP 5.0.2 起提供

为了测试您的输入,您可以尝试使用file()输出您的文件数据(它应该正确地确定行分隔):

print_r(file('data.txt'));

如果它包含多个元素,那么您的行将被分隔。

问题是您的编辑器(windows记事本?)没有将'n视为新行。

有一种新的线路

windows: 'r'n
linux/unix: 'n
mac: 'r

如何验证结果?你在编辑器中打开文件吗?如果您在Windows上执行此操作,请注意,某些编辑器会将"''r''n"显示为新行,而将"''n"视为空格或忽略它。