dort steht
‚r+‘ Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei.
Du willst aber wohl das hier
‚a‘ Öffnet die Datei nur zum Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
Wenn Deine Datei nur diesen einen Datensatz enthalten soll: fopen() mit ‚w‘.
Wenn das nicht der Fall ist, ist das eine ganz typische Datenbankanwendung.
Wenn Du keine Datenbank anwenden willst/kannst, wirst Du die Datei in einer Schleife Zeile für Zeile bearbeiten müssen:
Auslesen mit fgets(), Abgleichen mit Deinen Ergebnissen und dann den originalen oder ersetzten Inhalt erstmal in einer Variablen stückweise wieder zusammenbasteln.
Abschließend öffne mit fopen(‚w‘,…), das löscht den bisherigen Dateiinhalt, und schreibe die Variable in Deine Datei.
Auf jeden Fall muss Dir erst mal klar sein, bei welchen Übereinstimmungen die Zeile ersetzt werden soll - Nachname? Nachname + Vorname?
Und hatte ich erwähnt, dass das alles soooo einfach mit einer Datenbank wäre ?!
Ein Problem ist das Auslesen der Variablen - das Textfile einfach per include() einzubinden geht nicht, da Du sonst nicht schreiben kannst. Und wenn Du es mit readfile() o.ä. ausliest hast Du einen einzigen String, kein Array.
Du wirst den String nach dem Auslesen also noch interpretieren müssen - und das geht mit eval(). Hoffe ich zumindest.