MegaFrage am 14.10.2009 um 12:33 Uhr
Hallo, Ich habe folgendes Problem:
Ich habe mir 3 Dateien gebastelt die zusammen arbeiten und einen Text in eine Datei speichern. Das funktioniert soweit auch alles. Was allerdings nicht funktioniert ist, dass jeder alte Eintrag gelöscht und mit dem neuen Eintrag ersetzt wird.
Hier mal meine Codes:
formular.php
<h2>Text Speichern<h2>
<form name="form1" method="post" action="form.php?saving=1">
<textarea name="data" cols="100" rows="10">
<?php
$file = "data.txt";
if (!empty($file)) {
$file = filegetcontents("$file");
echo $file;
}
?>
</textarea>
<br>
<input type="submit" value="Speichern">
</form>
Der Code in der Datei "formular.php" sendet das Feld an die Datei "form.php"
<?php $saving = $REQUEST['saving']; if ($saving == 1) { $data = $POST['data']; $file = "data.txt";
$fp = fopen($file, "w") or die("Konnte $file nicht öffnen. Schreiben fehlgeschlagen!");
fwrite($fp, $data) or die("Text konnte nicht gespeichert werden!");
fclose($fp);
echo "Der Text wurde gespeichert!";
} ?>
Und "form.php" sendet das dann alles an die Datenbank "data.txt"
Noch Leer :biggrin:
Wie schaffe ich es, das die Felder in der Textdatei untereinander gespeichert werden?
(Und wie kann ich die Daten in der TXT-Datei aufrufen?)
du musst den Zeiger beim öffnen der Datei ans ende der Datei setzen..
das macht man (wie du schon gemacht hast) mit dem fopen befehl.. allerdings gibts da noch einige Optionen.. siehe:
http://php.net/manual/de/function.fopen.php
also $fp = fopen($file, 'w') soll $fp = fopen($file, 'a+')
und fertig! wenns klappt -> beste antwort hier :P

Meine Antwort ermöglicht es eine beste auszuwählen.
Und wie lese ich die einzelnen Elemente aus?
Dann wird´s zur besten AW.
einzelne Elemente? was denn für elemente? woher soll ich denn wissen was in deiner Datei steht? :) Ich würde die einzelnen Einträge immer zeilenweise schreiben und dann den Befehl nehmen, der die Datei zeilenweise in ein array packt. http://www.phpbox.de/php_befehle/file.php
Das ist aber nicht so gut wie wenn du das gleich in eine MySQL datenbank schreibst.. die ist besser zu pflegen zu lesen und so..