示例联系人.txt文件:
doe, john, 123
smith, jane, 456
etc
etc
etc
如果我想用$handle = fopen("contacts.txt", "w");
用cooper, jones, 678
覆盖smith, jane, 456
为什么它会删除smith, jane, 456
前后的所有行
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);