我有一个用fwrite编写的文本文件,我如何删除这个文本文件的所有内容,以便我可以写一个新的。我试图找到另一个功能,但没有运气。
我正在使用的示例代码,我想在输入此信息之前清除它:
$string = ', {"key": "'.$info['Name'].'", "value": "'.$info['Name'].'"}';
$fp = fopen('data_old.txt', 'a');
fwrite($fp, $string);
fclose($fp);
答案 0 :(得分:6)
如果查看fopen
的PHP文档,您将在第二个参数中看到“模式”列表。您正在传递"a"
,这意味着追加。您想要传递"w"
,这意味着“写”。
'a'仅限写作;将文件指针放在文件的末尾。如果该文件不存在,请尝试创建它。
'w'仅限写作;将文件指针放在文件的开头,并将文件截断为零长度。如果该文件不存在,请尝试创建它。
答案 1 :(得分:3)
答案 2 :(得分:1)
使用w选项代替fopen中的a选项。
喜欢fopen('file.txt','w');
这会将指针放在文件的开头而不是结尾
答案 3 :(得分:0)
要覆盖现有文件,请使用带有fopen的只写模式,该模式将打开文件进行写入,并将该点设置为文件的开头,并将文件截断为零长度:
$string = ', {"key": "'.$info['Name'].'", "value": "'.$info['Name'].'"}';
$fp = fopen('data_old.txt', 'w');
fwrite($fp, $string);
fclose($fp);
答案 4 :(得分:0)
你可以用另一种方式做到这一点
$file_destination = "./your_text_file_name.txt";
unlink($file_destination);
$your_data = "ABCabc";
$handle = fopen ($file_destination, "a+");
fputs($handle, $your_data);
fclose($handle);