Заменить конкретную строку в текстовом файле, используя php?

У меня есть текстовый файл, который хранит 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'); } 

Related of "Заменить конкретную строку в текстовом файле, используя php?"