Homepage selbermachen 7.851 Themen, 35.616 Beiträge

In bestimmte Zeile einer Datei schreiben mit php

computerschlumpf / 3 Antworten / Flachansicht Nickles

Hallo,

irgendwie habe ich den Dateizugriff mit php noch nicht ganz verstanden. Auslesen kriege ich gebacken, aber ich möchte in eine bestimmte Zeile einen Wert eintragen. Beispieldatei:

Hunde; 234
Katzen; 457
Elefanten; 345

Jetzt hat sich der Wert Elefanten verändert und den möchte ich überschreiben. Wie mache ich das? Ich habe es so versucht:

$fp = fopen("data.txt","r+");
while ($line = fgets($fp,1000)) {
if (ereg("Elefanten;",$line)) {
fputs ($fp, "Elefanten; ".$Elefanten_Anzahl);
}
}
fclose($fp);

Leider geht das halt nicht. Wo ist mein Denkfehler?

Gruß

computerschlumpf

PS: Keine Sorge ich möchte keine Tierhandlung aufmachen ;-)

There are only 10 types of people in the world: Those who understand binary and those who don't.
bei Antwort benachrichtigen
Dumistvieh computerschlumpf „In bestimmte Zeile einer Datei schreiben mit php“
Optionen

Zeilenweise in ein Array speichern geht noch leichter:

$fp = fopen("datei","modus");
$data = file("datei");
fclose($fp);

Der Weg über ereg ist schon gut oder auch strstr. Ändere einfach die Werte in dem Array und am Schluß schreibst Du die Werte in die Textdatei. Ein implode("\n",$data); macht daraus wieder eine Zeichenkette getrennt mit Zeilenumbruch.

Gruß Dumistvieh

--- wie immer: ALLE ANGABEN OHNE GEWEHR ÄH GEWÄHR!
bei Antwort benachrichtigen