示例contacts.txt文件:
doe, john, 123
smith, jane, 456
etc
etc
etc
如果我想用smith, jane, 456
覆盖cooper, jones, 678
$handle = fopen("contacts.txt", "w");
为什么它会删除smith, jane, 456
答案 0 :(得分:2)
fopen()
可能不是最佳选择,尤其是w
:
' W'仅供写作;将文件指针放在开头 文件和将文件截断为零长度。如果文件没有 存在,试图创造它。
对于合理大小的文件,应该这样做:
$data = file_get_contents('contacts.txt');
$data = str_replace('smith, jane, 456', 'cooper, jones, 678', $data);
file_put_contents('contacts.txt', $data, LOCK_EX);