区切り記号と各レコードを別々の行に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');
}