我在windows上测试了这段PHP代码,它首先删除了file.txt的内容,然后在上面写入新的内容。
$f = fopen('file.txt', 'r+');
fwrite($f, "first-time");
fclose($f);
每次我执行这段代码并看到file.txt时,它都有一个"first-time"。
我希望它在旧文件前加上"first-time"。如:first-timefirst-timefirst-time
等
为什么r+像w+一样使长度为零?
回答您的问题:您的代码没有截断文件,而只是覆盖先前的内容。
您想要实现的行为的快速和肮脏的解决方案:
<?php
$file_data = "Stuff you want to add'n";
$file_data .= file_get_contents('file.txt');
file_put_contents('file.txt', $file_data);
?>
编辑:答案可以在这里找到:如何将文件添加到开头?
根据PHP fopen手册:
'r+'为读写打开;将文件指针放在文件开头的
'a+'为读写打开;将文件指针放在文件的末尾处。如果文件不存在,尝试创建。
$f = fopen('file.txt', 'a+');
fwrite($f, "fisrt-time");
fclose($f);
如果你想添加内容,使用+模式