2014-02-09 110 views
-2

我的PHP腳本將覆蓋我的本地主機上的現有輸出。這是我的代碼:保存文本輸出而不覆蓋?

$txt = "data.txt"; 
$fh = fopen($txt, 'w'); 
if (isset($_POST['idnumber']) && isset($_POST['idnumber'])) { 
    $txt = $_POST['idnumber']; 
    file_put_contents('data.txt',$txt."\n",FILE_APPEND); 
} 
fwrite($fh,$txt); 
fclose($fh); 
} 

如何避免覆蓋?

+0

是所有的時間都是一個新的輸出,我需要在一個輸出中全部覆蓋而不會覆蓋 –

+0

請不要在找到答案後刪除所有帖子的內容。這可以防止他人從你的錯誤中學習。我已經回滾了你的編輯。 – hichris123

回答

0

看來你用fwrite()函數覆蓋你的文件。

如果使用file_put_contents()函數,則不需要使用fopen(),fwrite()和fclose()函數。

2

更改此:

$fh = fopen($txt, 'w'); 

要這樣:

$fh = fopen($txt, 'a'); 

這將追加數據與寫入數據(添加與覆蓋)。

+0

作品非常感謝:) –

1

您在致電fopen時需要與w不同的模式。

請參閱http://www.php.net/manual/en/function.fopen.php您的所有選項。

此外,你應該總是檢查從fopen返回,看看它是否成功。

+0

不錯的列表謝謝你的提示:) –