如何清除准备好fwrite的文本文件

时间:2012-05-02 23:08:48

标签: php fwrite

我有一个用fwrite编写的文本文件,我如何删除这个文本文件的所有内容,以便我可以写一个新的。我试图找到另一个功能,但没有运气。

我正在使用的示例代码,我想在输入此信息之前清除它:

$string = ', {"key": "'.$info['Name'].'", "value": "'.$info['Name'].'"}';
    $fp = fopen('data_old.txt', 'a');
    fwrite($fp, $string);
    fclose($fp);

5 个答案:

答案 0 :(得分:6)

如果查看fopen的PHP文档,您将在第二个参数中看到“模式”列表。您正在传递"a",这意味着追加。您想要传递"w",这意味着“写”。

  

'a'仅限写作;将文件指针放在文件的末尾。如果该文件不存在,请尝试创建它。

     

'w'仅限写作;将文件指针放在文件的开头,并将文件截断为零长度。如果该文件不存在,请尝试创建它。

答案 1 :(得分:3)

您可以在fopen中更改模式参数:

$fp = fopen('data_old.txt', 'w+');

顺便说一句,我使用了w+以防您想要阅读它,因为只需写一下就可以使用w

答案 2 :(得分:1)

使用w选项代替fopen中的a选项。

喜欢fopen('file.txt','w');

这会将指针放在文件的开头而不是结尾

http://php.net/manual/en/function.fopen.php

答案 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);