我在Windows上测试这个PHP代码,它首先删除了file.txt内容,然后在其上写下新内容。
$f = fopen('file.txt', 'r+');
fwrite($f, "first-time");
fclose($f);
每次执行此代码并查看file.txt时,它都会有一个“第一次”。
我希望它在“旧文件”之前加上“第一次”。喜欢:
first-timefirst-timefirst-time
等等。
为什么r +在长度为零时表现得像w +一样?
答案 0 :(得分:1)
回答您的问题:您的代码不会截断文件,只会覆盖以前的内容。
针对您想要实现的行为的快速而肮脏的解决方案:
<?php
$file_data = "Stuff you want to add\n";
$file_data .= file_get_contents('file.txt');
file_put_contents('file.txt', $file_data);
?>
答案 1 :(得分:0)
编辑: 答案可以在这里找到: How do I prepend file to beginning?
'r +'开放阅读和写作;将文件指针放在文件的开头。
'a +'开放阅读和写作;将文件指针放在文件的 end 。如果该文件不存在,请尝试创建它。
$f = fopen('file.txt', 'a+');
fwrite($f, "fisrt-time");
fclose($f);
因此,如果您想要添加内容,请使用+模式。