29. Januar 200322 j 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
29. Januar 200322 j $fp = fopen ("datei", 'a'); ich vermute aber, dass dein zusätzlicher inhalt hinten angehängt wird und nicht am anfang der datei.
29. Januar 200322 j 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
29. Januar 200322 j '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!
29. Januar 200322 j 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
29. Januar 200322 j 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
30. Januar 200322 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.