Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben
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

Geschrieben

'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!

Geschrieben

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

Geschrieben
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

Geschrieben

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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...