所以我试图打开一个清单文件,在最后一行文本中添加一行文本(例如#Revision Date 21-12-2016),截至目前我发现的是{{1}所有在同一条线上。相反,我希望每次运行脚本后,在旧行下添加新行
#Revision Date 20-12-2016#Revision Date 21-12-2016
我尝试过许多不同的解决方案。 PHP_EOL,“\ n”这是我一直在使用的脚本
脚本
#Revision Date 20-12-2016
#Revision Date 21-12-2016
#Revision Date 22-12-2016
答案 0 :(得分:2)
由于您是在Windows环境下运行此功能,因此请使用"\r\n"
代替"\n"
,因为\n
适用于* NIX系统。
但是,我不明白为什么PHP_EOL
在这种情况下不起作用,因为那是跨平台的。
如果你试图在屏幕上回应这个,那就是为什么它会在一行中向你展示。
\n
或\r\n
将出现在文件的新行中,而不是屏幕上完全不同的动物。
因此,对每个标记的不同行回应,您需要使用<br>
或<p>
标记,或者如Xorifelse nl2br(file_get_contents($filename2));
答案 1 :(得分:0)
使用FILE_APPEND flag添加到现有文件(如果您想确保没有其他人同时编辑该文件,请使用LOCK_EX。)
$filename2 = 'newapp/cache.txt';
$new_text = "John Smith\n";
file_put_contents($filename2, $new_text, FILE_APPEND | LOCK_EX);