2 Probleme mit Schreiben in Dateien
Bär
- php
Hallo Leute!
vielleicht kennt ihr ja eine Lösung auf diese Fragen:
1. Problem
ich möchte eine zeile in einer textdatei schreiben, so dass beim nächsten fwrite()- befehl eine neue Zeile beginnt
ich versuchte es so:
fwrite($datei, $text."\n")
was im editor jedoch nicht ging, es stand alles auf einer zeile
weiss jemand eine Lösung für dieses Problem?
2. Problem
ich habe keine funktion gefunden, wie man in einer datei
eine leere zeile einfügen kann, das heisst dass sich der inhalt verschiebt. Gibt es eine solche funktion, oder lässt sich dies mit einem Trick erreichen?
sehr wahrscheinlich hängen die 2 probs zusammen, und ich bin sowieso auf dem holzweg mit meiner denkensweise....
falls jemand eine Lösung weiss, wäre ich ihm sehr dankbar
cu
Der Bär
Hi Bär,
fwrite($datei, $text."\n")
was im editor jedoch nicht ging, es stand alles auf einer zeile
weiss jemand eine Lösung für dieses Problem?
"\r\n"
- Problem
ich habe keine funktion gefunden, wie man in einer datei
eine leere zeile einfügen kann, das heisst dass sich der inhalt
verschiebt. Gibt es eine solche funktion,
Nein
oder lässt sich dies mit einem Trick erreichen?
Ja, alles einlesen und verändert zurückschreiben.
<../../sfausles/tsfa_tee.htm#a2> ist zwar für Perl aber das
Prinzip ist das gleiche.
Gruss,
Carsten
Hallo Carsten,
fwrite($datei, $text."\n")
was im editor jedoch nicht ging, es stand alles auf einer zeile
weiss jemand eine Lösung für dieses Problem?"\r\n"
Erzeugt "\r\n" statt nur "\n" einen "richtigen" Umbruch, der später
zB auch im Editor als solcher interpretiert wird? Für das Anlegen
einer neuen Zeile selbst reicht PHP ja "\n".
<img src="http://www98.l8.xodox.com/promo/signet.gif" alt="">
<img src="http://www98.l8.xodox.com/promo/akonline.gif" alt="www.alexander-kleinjung.de" style="cursor:hand;" onMouseUp="window.open('http://www98.l8.xodox.com/promo/forum.htm','select','width=325,height=240');" onmouseover="window.status='http://www.alexander-kleinjung.de';return true;" onmouseout="window.status='';return true">
Hi Alex,
Erzeugt "\r\n" statt nur "\n" einen "richtigen"
Umbruch,
äh jein.
Unter Windows ist \r\n ein Zeileumbruch unter Unix ist \n ein
Zeilenumbruch und beim Mac ist es \r. ( \n\r ist IMHO noch frei.)
Fürs/im Web wird oft \r\n genommen (z.b. bei den Headern).
Einige Programme und Funktionen konvertieren dann auch noch.
(Z.b. UltraEdit automatisch, FTP im sog. ASCII-Modus, fopen("....","r") auf
Windows-systemen, deshalb gibts auch noch extra fopen("....","rb") wenn man
nicht konvertieren will....)
Gruss,
Carsten
danke für die Lösung zum ersten Problem!
das bringt mich auf eine idee:
wenn ich einfach eine zeile mit ihrem eigenen wert überschreibe und das reinschreibe: ."\r\n"."\r\n"
erste versuche sind gelungen...
gruss
der Bär
Hallo Bär,
fwrite($datei, $text."\n")
was im editor jedoch nicht ging, es stand alles auf einer zeile
weiss jemand eine Lösung für dieses Problem?
Was meinst Du mit "stand alles in einer Zeile"? Wenn Du Dir die "ge-
schriebene" Datei ansiehst, ist wirklich kein "richtiger" Zeilenum-
bruch zu sehen, aber es ist (zumindest beim Windows Editor) ein kleines
leeres Kästchen zwischen den Einträgen: der "Zeilenumruch".
Vom Syntax her ist es nämlich korrekt angelegt.
ich habe keine funktion gefunden, wie man in einer datei
eine leere zeile einfügen kann, das heisst dass sich der inhalt
verschiebt.
Wo willst Du das einfügen? Vor dem "alten" Text (also neue Einträge
immer vornedran) oder willst Du zwischen bestehende Zeilen eine
Leerzeile einfügen? Beides geht über reguläre Ausdrücke; schau mal
bei [http://www.php3-forum.de] nach, dort findest Du einige Beispiele
und auch ein Forum,
<img src="http://www98.l8.xodox.com/promo/signet.gif" alt="">
<img src="http://www98.l8.xodox.com/promo/akonline.gif" alt="www.alexander-kleinjung.de" style="cursor:hand;" onMouseUp="window.open('http://www98.l8.xodox.com/promo/forum.htm','select','width=325,height=240');" onmouseover="window.status='http://www.alexander-kleinjung.de';return true;" onmouseout="window.status='';return true">