Didii Geschrieben 29. Januar 2003 Geschrieben 29. Januar 2003 hallo Programmiersprache: PHP Problem: möchte an den Anfang einer bereits bestehenden Textdatei schreiben, wenn ich beim öffen-mode 'r+' angebe, überschreibt es mir aber einen Teil des bereits enthaltenen Textes, die wenn ich 'w' oder 'w+' benutze setzt er die Datei auf 0 Byte! wie kann ich in die Datei schreiben, ohne dass die alten Einträge verloren gehen bzw. überschrieben werden??? bitte um baldige antwort mfg didii
korea1 Geschrieben 29. Januar 2003 Geschrieben 29. Januar 2003 $fp = fopen ("datei", 'a'); ich vermute aber, dass dein zusätzlicher inhalt hinten angehängt wird und nicht am anfang der datei.
Reinhold Geschrieben 29. Januar 2003 Geschrieben 29. Januar 2003 Originally posted by Didii wie kann ich in die Datei schreiben, ohne dass die alten Einträge verloren gehen bzw. überschrieben werden??? Du musst eine neue Datei erzeugen, den am Anfang einzufügenden Inhalt hineienschreiben und danach den Inhalt der alten Datei wieder hinten anhängen. Direkt geht das nicht. Reinhold
Didii Geschrieben 29. Januar 2003 Autor Geschrieben 29. Januar 2003 'a' setzt den Dateizeiger auf das Ende der datei eine andere Lösung für mich wäre in die Textdatei ganz normal zu schreiben, und sie dann von hinten her auslesen!!! aber wie kann ich eine Textdatei von hintern her auslesen, und welche bedingung muss ich zum Abbruch verwenden?? beim auslesen von vorn nach hinten mach ich halt while (! feof(Datei)) aber wie gehts umgekehrt??? bitte helft mir weiter!
Didii Geschrieben 29. Januar 2003 Autor Geschrieben 29. Januar 2003 zu deiner Lösung @reinhold danke, aber ganz so einfach ist das nicht! es wird über mehre Eingabefelder öfter auf die datei zugegriffen!!! wenn ich jetzt den neuen Text in eine neue Datei schreibe, und den alten dann dran hänge, was mach ich beim nächsten Neueintrag??? dass ist viel zu kompliziert. aber wie du schon sagtest direkt dran hänge geht nicht, könntest du oder irgendjemand anderer hier drinnen sagen wie ich die Textdatei von hinten nach vorne auslesen kann??? bitte um weiter antworten so long didii
Reinhold Geschrieben 29. Januar 2003 Geschrieben 29. Januar 2003 Originally posted by Didii 'a' setzt den Dateizeiger auf das Ende der datei eine andere Lösung für mich wäre in die Textdatei ganz normal zu schreiben, und sie dann von hinten her auslesen!!! aber wie kann ich eine Textdatei von hintern her auslesen, und welche bedingung muss ich zum Abbruch verwenden?? In einem Gästebuch habe ich das irgendwann einmal so gelöst: $eintrag=@file("gastbuch.txt") or die("Keine Einträge"); for ($i=count($eintrag);$i>=0;$i--) { print stripslashes($eintrag[$i]) . "<BR><HR>"; } [/PHP] Reinhold
jomama Geschrieben 30. Januar 2003 Geschrieben 30. Januar 2003 Du musst das ganze mit File in ein Array einlesen. Dann ein zweites Array basteln, der erste Wert dieses Arrays ist die Zeile, die du anfügen willst, ab dem zweiten Wert fügst du mit einer for-Schleife die Werte des ersten Arrays ein. Das schreibst du dann mit w in die Datei. Oder du fügst hinten an und liest die Datei rückwärts aus. Oder du lässt den Blödsinn und schreibst alles in eine MySQL Datenbank, das ist performanter, leichter zu skalieren, stabiler und noch dazu einfacher.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden