Problem bei Zeilen hinzufügen in einer Datei
3gx
- php
Hi,
also ich will in eine Datei eine neue Zeile (am Anfang/also ganz oben) hinzufügen. Das geht allerdings nicht so gut... irgendwie habe ich Probleme mit den zeilenumbrüchen. Also wie geht denn das am einfachsten?
Hi,
also ich will in eine Datei eine neue Zeile (am Anfang/also ganz oben) hinzufügen. Das geht allerdings nicht so gut... irgendwie habe ich Probleme mit den zeilenumbrüchen. Also wie geht denn das am einfachsten?
Hallo 3gx,
das Problem ist eigentlich ein tiefgründig philosophisches, also dunkelste Hardware, so gerade über dem Motherboard.
Es gibt Betriebssysteme, die sogenannte Spooldateien kennen. Die kann man von vorne her schon wieder freigeben (an das Filesystem zurückgeben) während man sie in der Mitte z.B. an den Drucker leitet und hintendran noch Daten anfügt. Alles (vermeintlich) gleichzeitig.
Linux z. B. kann mit "tale" die letzten zehn Zeilen einer Datei ausgeben (die 10 ist Voreinstellung und kann in gewissen Grenzen konfiguriert werden). Mit Cat (ich hoffe das das jetzt stimmt) kann man eine Datei auch rückwärts ausgeben. Also die letze Zeile zuerst.
Wenn Du dir das nutzbar machst, hättest Du ja was Du wolltest. Du fügst zwar immer hinten an, gibst dann aber rückwärts aus und hast so die neueste Zeile immer oben.
Mit "normalen" Filebefehlen bleibt Dir nur die Möglichkeit, eine neue Datei anzulegen, die neue Zeile hineinzuschreiben, die alte Datei hinten dranzukopieren. Das geht mit PHP ganz einfach über eine Variable, in die Du die ganze Datei einliest und dann an die neue Datei im a+ Mode wieder ausgibst.
Nur etwas unhandlich, wenn die Datei zu groß wird.
Grüße
Tom
Hallo nochmal,
hat ja noch gar keiner gemeckert *gg*
Linux z. B. kann mit "tale" die letzten zehn Zeilen einer Datei
Das heißt natürlich "tail" wie Schwanz
»»ausgeben (die 10 ist Voreinstellung und kann in gewissen Grenzen konfiguriert werden). Mit Cat (ich hoffe das das jetzt stimmt) kann man eine Datei auch rückwärts ausgeben. Also die letze Zeile zuerst.
Na und hier muss es tac heißen, eben wie cat auf rückwärts...
LG
Tom
hm... naja extra eine neue datei anlegen wollte ich ja eigentlich nicht, aber was solls...
mein genaues Problem war ist eigentlich, dass ich eigentlich einen kompletten array in eine datei schreiben wollte, aber das geht mit PHP ja nicht *aargh* - Perl ist mir in der Hinsicht handlicher... einfach ein
print @ARRAY <DATEIHANDLE>
...und gut isses. Aber wie mach ich das in PHP?
hm... naja extra eine neue datei anlegen wollte ich ja eigentlich nicht, aber was solls...
mein genaues Problem war ist eigentlich, dass ich eigentlich einen kompletten array in eine datei schreiben wollte, aber das geht mit PHP ja nicht *aargh* - Perl ist mir in der Hinsicht handlicher... einfach ein
print @ARRAY <DATEIHANDLE>
...und gut isses. Aber wie mach ich das in PHP?
Hallo,
Mit "file(filename)" liest man eine Textdatei in ein Array ein. PHP kümmert sich dabei um das Open und Close selber.
Ich muss gestehen, eine umgekehrte Funktion kenne ich nicht in PHP. Da muss ich doch noch mal etwas experimentieren, ob z.B. "fwrite(Handle, Variable, Anzahl der Schreibbytes)" das ganze Array wegschreibt.
...
Grüße
Tom