Php 文件\u放置\u内容和新行帮助

Php 文件\u放置\u内容和新行帮助,php,Php,我有一个正在写入的文件,但我无法获取文件内容以将下一个条目附加到新行,即使在换行符之后也是如此。我错过了什么?我在一台windows机器上 $file = 'test.txt'; $message = "test\n\n"; file_put_contents($file, $message, FILE_APPEND); 您如何查看$file的内容?如果您正在使用记事本,则无法看到\n请尝试 $file = 'test.txt'; $message = "test".PHP_EOL; file

我有一个正在写入的文件,但我无法获取文件内容以将下一个条目附加到新行,即使在换行符之后也是如此。我错过了什么?我在一台windows机器上

$file = 'test.txt';
$message = "test\n\n";
file_put_contents($file, $message, FILE_APPEND);

您如何查看
$file
的内容?如果您正在使用记事本,则无法看到
\n

请尝试

$file = 'test.txt';
$message = "test".PHP_EOL;
file_put_contents($file, $message, FILE_APPEND);


对于PHP_EOL,您可能看不到新行,因为您在编写新行之后定义了行尾。因此,只有在将新内容添加到文本文件的最后一行后,才会生成新行

应该是这样写的:

$file = 'test.txt';
$message = 'some message that should appear on the last line of test.txt';
file_put_contents($file, PHP_EOL . $message, FILE_APPEND);

只要给一个正常的新行,它的工作

$file = 'test.txt';
$message = "test
";
file_put_contents($file, $message, FILE_APPEND);

首先,读一些关于新行的内容。每种操作系统都不同。。。有LF,CR,CR+LF。。。看一看

在Windows上,您需要CR+LF(
\r\n
),正如Mathieu所说。 在Linux上,只需要LF(
\n

但是,可以肯定的是,使用
PHP\u EOL


在使用文件时,您可能需要更多地了解路径和目录分隔符。它们也不同。使用
目录\u分隔符
而不是正斜杠或反斜杠;)

对于那些将第二个参数作为数组而不是字符串传递给file_put_contents的人,它还可以将PHP_EOL作为最后一个数组元素:

file_put_contents($file, array('value 1', 'value 2', PHP_EOL), FILE_APPEND);

是的,在记事本里。。好吧,那么这就是我的问题了?我可以做些什么来查看记事本中的中断吗?我使用记事本2。下载www.flos-freeware.chVolker,谢谢。也祝你摇滚乐运动员。这就成功了。我正在做\n\r我想这会有所不同。谢谢rockjock。现在就去。这个答案需要更多的爱。这解决了我的问题。@Gordon-1用于使用
PHP\u EOL
!此常量仅在您将文件用于内部目的并且大量过度使用时才有用。在大多数情况下,UNIX友好的
\n
是一个更好的选择。@RoboRobok的问题是关于
\n
不在windows机器上工作,
PHP\u EOL
\r\n
在这里似乎非常合适。这与“大多数情况”无关
file_put_contents($file, array('value 1', 'value 2', PHP_EOL), FILE_APPEND);