我有一个文本文件,它存储lastname, first name, address, state, etc
为带有|
分隔符的字符串,每条记录都在单独的行上。
我有需要将每条记录存储在新行上的部分,并且工作正常;但是,现在我需要能够返回并更新特定行上的名称或地址,但我无法让它工作。
这如何使用 php 替换文本文件中的特定行?在这里帮助了我,但我还没有到那里。这会覆盖整个文件,我会丢失记录。任何帮助表示赞赏!
经过一些编辑似乎现在正在工作。我正在调试以查看是否有任何错误。
$string= implode('|',$contact);
$reading = fopen('contacts.txt', 'r');
$writing = fopen('contacts.tmp', 'w');
$replaced = false;
while (!feof($reading)) {
$line = fgets($reading);
if(stripos($line, $lname) !== FALSE) {
if(stripos($line, $fname) !== FALSE) {
$line = "$string";
$replaced = true;
}
}
fwrite($writing, "$line");
//fputs($writing, $line);
}
fclose($reading); fclose($writing);
// might as well not overwrite the file if we didn't replace anything
if ($replaced)
{
rename('contacts.tmp', 'contacts.txt');
} else {
unlink('contacts.tmp');
}