Datensätze hinzufügen - die schon bestehenden aber auch
Fertighaus
- php
0 Tom0 Fertighaus0 Tom
Hallo. Ich habe folgendes Problem:
In einer Datei steht z.B.:
<?php
$katze = "Hund";
$banane = "Hallo";
$ichbins = "Was geht";
?>
Nun kann der User in einem Formular eine weitere Variable hinzufügen. Wenn ich das so aber mittels fwrite() in die Datei schreibe, wird alles komplett überschreiebnund die alten Variablen sind dann verschwunden. Er kann auch nahceinander mehrere Variablen eingeben, sodass ich nicht zub Beispiel ins fwrite schreiben kann:
fwrite($fileopenvariable, "
<?php
$katze = "$katze";
$banane = "$banane";
$ichbins = "$ichbins";
$neuevariable = "$diegeradeeingegebenevariable
?>
");
Denn sonst funktionierts einmal und beim nächsten mal steh ich vor dem gleichen Problem.
Wie kann ich es nun also machen, dass jedes mal alle schon vorhandenen Variablen stehen bleiben und die neuen nur hinzugefügt werden?
Danke für jede Hilfe...
Hello,
... da scheu Dir mal das Beipiel an:
http://bitworks.de/~selfHTML/speichern.php
Das kann man natürlich auch auf mehrere Datensätze ausdehnen, in dem man dem Datenarray ainfach weitere Sätze hinzufügt.
Und es gibt noch viele weitere Möglichkeiten...
Liebe Grüße aus http://www.braunschweig.de
Tom
Ich hab das jetzt mal so probiert:
<?php
$filename = "test.txt";
$file = file($filename);
$fh = fopen($file,"r");
$fp = fopen($filename, "w");
fwrite($fp, "$fh
$neu");
?>
Die Seite heisst save.php
Wenn ich jetzt aufrufe save.php?neu=Neuertext kommt folgende Fehlermeldung:
Warning: fopen() expects parameter 1 to be string, array given in /home/www/web3/html/fertighaus/save.php on line 5
(Nicht lachen, ich bin kein sonderliches Gnie, bin Anfänger, das ist ja nur ne Idee von mir...)
Was ist daran denn so falsch? Das Script soll die schon vorhandenen Daten in der test.txt wieder mit reinschreiben und zusätzlich die neuen Daten ($neu)
Wo liegt/liegen mein(e) Denkfehler ???
Hello,
<?php
$filename = "test.txt";
$file = file($filename);
$fh = fopen($filename,"r+"); ## Datei zum Lesen und Schreiben öffnen
fseek($fh, filesize($filename)); ## an das Ende der Datei gehen.
fwrite($fh, $neu); ## neuen Inhalt hinzufügen
fclose($fh); ## Datei wieder schließen
?>
Alternativ:
$fh = fopen($file,"a"); ## Datei zum Anfügen öffnen
fwrite($fh, $neu); ## neuen Inhalt hinzufügen
fclose($fh); ## Datei wieder schließen
$neu = implode("\n",$_zeilen)."\n";
Liebe Grüße aus http://www.braunschweig.de
Tom