2012-05-02 24 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);