如何使用PHP在文本文件中写一个新行?

时间:2014-09-03 09:28:37

标签: php file text line

我正在尝试使用PHP在文本文件中编写。每个$result字符串必须位于txt文件的新行中,但是当我输入时,所有$result字符串都在同一行。有什么问题?

这是我的代码:

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

3 个答案:

答案 0 :(得分:3)

使用PHP_EOL预定义常量:

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

来自manual

  

PHP_EOL(字符串)

     

此平台的正确“行尾”符号。

     

自PHP 4.3.10和PHP 5.0.2起可用

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

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

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

答案 1 :(得分:1)

问题是您的编辑器(Windows记事本?)不会将\n视为新行。

有新行

windows: \r\n

linux/unix: \n

mac: \r

答案 2 :(得分:1)

您如何验证结果?你在编辑器中打开文件了吗?如果您在Windows上执行此操作,请注意某些编辑器将显示" \ r \ n"作为一个新的路线,同时处理" \ n"作为一个空间或只是忽略它。