我正在尝试使用PHP在文本文件中编写。每个$result
字符串必须位于txt文件的新行中,但是当我输入时,所有$result
字符串都在同一行。有什么问题?
这是我的代码:
$result=date("Y.m.d").'!'.$_POST['name'].'!'.$_POST['price'].'!'.$selectedGroup."\n";
file_put_contents('data.txt', $result,FILE_APPEND)
答案 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"作为一个空间或只是忽略它。