2012-05-02 23 views
2

我有一个正在使用fwrite编写的文本文件,如何删除此文本文件的所有内容以便我可以在其上写入新文件。我试图找到另一个功能,但没有运气。我使用如何清除文本文件以准备进行fwrite

示例代码,我想清楚之前,我输入以下信息:

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

删除并重新创建它? –

+0

为什么不直接删除1st文件? – ChrisW

+0

我需要自己做,什么是在PHP中删除文件的代码? – MattHeywood

回答

6

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

'a'仅供打印用途;将文件指针放在文件的末尾。如果文件不存在,请尝试创建它。

'w'仅供打印;将文件指针放在文件的开头,并将文件截断为零。如果文件不存在,请尝试创建它。

+0

对不起,+1 –

+0

对我而言,只工作w + – Pavel

3

你可以改变你的模式参数fopen

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

顺便说一句,我用w+如果你想从中读取,只需写入,你就可以使用w

0

覆盖现有文件中使用的只写有FOPEN模式,这将打开文件进行写入和设置的开始指向文件的开头,也是文件截断为零长度:

$string = ', {"key": "'.$info['Name'].'", "value": "'.$info['Name'].'"}'; 
$fp = fopen('data_old.txt', 'w'); 
fwrite($fp, $string); 
fclose($fp); 
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);