Didii Geschrieben 29. Januar 2003 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
korea1 Geschrieben 29. Januar 2003 Teilen 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 29. Januar 2003 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Didii Geschrieben 29. Januar 2003 Autor Teilen 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! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Didii Geschrieben 29. Januar 2003 Autor Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 29. Januar 2003 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jomama Geschrieben 30. Januar 2003 Teilen 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.