In einer datei nur eine Zeile verändern
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
Hallo!
Ich bin neu in PHP und hab eine Frage:
wie kann ich in einer Datei nur eine Zeile ver?ndern? (Zuerst diese Zeile finden und dann ver?ndern?)
Z.B ich hab viele Benutzer in einer Datei gespeichert und wil nun die eigenschaften einer Person ver?ndern:
1|Person1|m?nnlich|passw1
2|Person2|weiblich|passw2
3|Person3|m?nnlich|passw3
4|Person4|m?nnlich|passw4
5|Person5|weiblich|passw5
Danke im Voraus
P.S.: ich hab's irgendwo im Intrenet gesehen, aber leider nicht durchgelesen, und jetzt suche ich's schon seit 2 Tagen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
$datei = array(); $datei_new = array(); $datei = file('data.dat'); foreach ($datei as $zeile) { $zeile = trim($zeile); list($id,$name,$gesch,$pass) = explode("|",$zeile); if ($name == 'Person3') { $pass = 'neues_Passwort'; } $datei_new[] = $id.'|'.$name.'|'.$gesch.'|'.$pass; } $fp = fopen ('data.dat',"w"); fwrite($fp,join("\n",$datei_new)); fclose($fp);
Damit m?sste das Passwort von Person3 ge?ndert werden.
Edit: Waren noch fehler drin. Jetzt geht's.
Beitrag ge?ndert am 24.08.2005 15:22 von phattek -
Hallo!
ich glaube, er wird dann in die neue Datei nur eine Zeile schreiben. Oder? -
hoster schrieb:
Hallo!
ich glaube, er wird dann in die neue Datei nur eine Zeile schreiben. Oder?
Eignetlich nicht, weil:
fwrite($fp,join("\n",$datei_new));
Das ganze Array wird ja zu einem String zusammengef?gt und dann in die Datei geschrieben.
Beitrag ge?ndert am 24.08.2005 15:22 von phattek -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage