daten in txt datei speichern
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anzeigen
auslese
befehl
beispiel
code
datei
dumme frage
editor
eingabe
eintrag
erstellen
formular
frage
http
info
inhalt
sicherheitsrisiko
speichern
textdatei
zeile
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ja eigentlich ganz einfach. Klick mit der rechten Maustaste auf die Datei . Öffnen mit und dann Editor. Im Editor, Datei speichern unter und dann txt datei auswählen. Speicher und fertigg
-
ja eigentlich ganz einfach. Klick mit der rechten Maustaste auf die Datei . Öffnen mit und dann Editor. Im Editor, Datei speichern unter und dann txt datei auswählen. Speicher und fertigg
NEIN, so was das sicher nicht gemeint. Was meinst du, warum wir hier im PHP & MySQL - Forum sind ? Dass die Dateien dann per Editor verändert werden ?!
@himynameischris:
Ich hab dir hier mal ein Minimalpacket \'geschnürt\', es besteht aus 4 Dateien:
Die Textdatei, in der der Inhalt ist, hier inhalt.txt:
Hier der Inhalt
Eine Datei, die das Formular beinhaltet, wo du eingibst, was gespeichert werden soll (formular.php) :
<form name=\"form\" action=\"schreiben.php\" method=\"get\"> <input name=\"eintrag\" type=\"text\" value=\"Hier der Text\" /> <input type=\"submit\" value=\"Los !\" /> </form>
Dann eine Datein, namens \'lesen.php\', die dir den Inhalt aus der inhalt.txt wieder ausließt:
<?php $datei = fopen(\"inhalt.txt\",\"r\"); $inhalt = true; while ($inhalt) { $inhalt = fgets($datei); echo nl2br($inhalt); } fclose($datei); ?>
In diesem Beispiel wird absichtlich jede Zeile einzeln eingelesen und geschrieben, da so jede Zeile noch modifiziert werden kann :)
[fgets ließt nur 1 Zeile]
Und schließlich eine \'schreiben.php\', die den Inhalt, der ihr von der formular.php geschickt wird, in die Datei schreibt:
<?php $eintrag = $_GET[\"eintrag\"]; $datei = fopen(\"inhalt.txt\",\"w\"); fwrite($datei,$eintrag); fclose($datei); ?>
Die Datei inhalt.txt wird vor dem Beschreiben allerdings geleert ! Willst du Inhalt hinzufügen, muss statt dem \"w\" ein \"a\" geschrieben werden, also so : fopen(\"inhalt.txt\",\"a\")
Ich hoffe, das war verständlich genug !
Für weitere Infos empfehle ich http://www.selfphp.de/
mfg dapizzafressa
PS: ACHTUNG BEI MEINEM BEISPIEL: ES IST NICHT (!!!) DAZU GEEIGNET, ES ÖFFENTLICH IM NETZ LAUFEN ZU LASSEN. DAZU MUSST DU VORHER DIE EINGABEN, DIE IN DIE inhalt.txt GESCHRIEBEN WERDEN GEFILTERT WERDEN, SO DASS KEIN JavaScript UND SONSTIGES GESCHRIEBEN WERDEN KANN !!! -
thx vielmals.
echt verständlich erklärt.
ich werds gleich mal ausprobieren. danke
eine frage hab ich noch:
kann die textdatei auch in der gleichen php-datei ausgelesen, in der geschrieben wird?
mfg
chris
Beitrag geändert: 22.12.2007 9:40:34 von himynameischris -
Du meinst, ob du mit EINER PHP-Datei gleichzeitig lesen und schreiben kannst ?
Natürlich geht das !
Du musst dazu halt einfach per GET Infos mit übergeben (das GET ist das, was da oben in der Adressleiste noch hinter dem Dateinamen \'dranhängt\'. (z.B ...&id=612263)
Du öffnest deine Datei z.B. statt mit lesen.php mit lesen.php?action=write
Und dann holst du dir in PHP den Wert nach dem Istgleich:
$action = $_GET[\"action\"];
und dann überprüfst du:
if ($action == \"write\") { // Hier der Code, der in die Datei schreibt. Du darst allerdings nicht vergessen, das, was eingetragen wird, auch mit zu übergeben! } elseif ($action == \"insert\") { // Hier z.B. das Formular (z.B.: echo \" \" } else { // Hier nun der Code, der den Inhalt ausließt } }
So wird nun in die Datei geschrieben, sobald du dem action ein write zuweißt, gelesen wird, wenn action nicht write und auch nicht insert ist. Ist action gleich insert, dann wird das Formular angezeigt.
Aber wie schon gesagt, du musst die Eingaben noch ausfiltern.
z.Z. besteht die Möglichkeit, ohne Probleme HTML auszuführen (JS & CO natürlich auch). Das bringt ein Sicherheitsrisiko !
-> Mit z.B. den PHP-Funktionen htmlentities() und htmlspecialchars() ausfiltern.
mfg dapizzafressa
PS: Hoffe geholfen zu haben :)
Beitrag geändert: 22.12.2007 9:52:20 von dapizzafressa -
und mit welchem befehl kann ich dann den inhalt aus der datei anzeigen?
i-wie hab ich das gefühl, dass das eine dumme frage ist
EDIT:
hat sich erledigt.
aber eine frage hab ich immer noch:
wie kann ich denn mehrere zeilen auslesen lassen?
Beitrag geändert: 22.12.2007 9:47:51 von himynameischris
Beitrag geändert: 22.12.2007 9:53:02 von himynameischris -
und mit welchem befehl kann ich dann den inhalt aus der datei anzeigen?
i-wie hab ich das gefühl, dass das eine dumme frage ist
EDIT:
hat sich erledigt.
aber eine frage hab ich immer noch:
wie kann ich denn mehrere zeilen auslesen lassen?
Mehrere Zeilen ?!
Mein Code, aus dem ersten Beitrag von mir, liest doch sämtliche Zeilen aus !
Wenn du mehrere Zeilen schreiben willst, dann musst du halt ein mehrzeiliges Edit erstellen. Gelesen wird die ganze Datei ! Und dann Zeile für Zeile ausgegeben
Beitrag geändert: 22.12.2007 10:02:40 von dapizzafressa -
Es wäre vielleicht noch gut gewesen, wenn du beim Erstellen des Threads auch noch den Zweck des Scripts angegeben hättest. Wenn du z.b. ein Gästebuch oder ein News-System auf Datei-basis haben willst, hätte man dir u.a. folgendes Tutorial empfehlen können.
http://php-einfach.de/tuts_php_gb.php -
kann ich ja jetzt noch machen
ich habe ja vor kurzem diese seite erstellt:
http://notfall-suche.lima-city.de
und da will ich jetzt, dass die letzten z.b. 10 Suchbegriffe gespeichert werden, und angezeigt werden.
ich wollt nur mal wissen, wie ich das da umsetzen kann. ob ichs dann auch wirklich einbaue, sei auch mal dahingestellt, da es wahrscheinlich nicht unbedingt sinnvoll ist.
mfg
chris -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage