schreiben in eine datei....
Stefaan
- php
Servus!
Ich bin gerade dabei, ein Gästebuch in PHP zu schreiben, dass die Daten in eine normale Datei als ASCII abspeichert. Das auslesen aus dieser Datei... ja, kein Problem. Nur wie muss ich fwrite angeben, dass die neu eingegeben Daten am Anfang der Datei drangehängt werden?
Zur Zeit siehts so aus:
$message="sadkjfh akdfjh asdkfh "
$vorhanden = fopen($path, "a");
fwrite ($vorhanden, $message);
fclose ($vorhanden);
Ich will nun, dass $message am Anfang der Datei drangehängt wird. Geht das? Wie kann ich das anstellen?
Wenn dieser String in der Datei gespeichert wird, wird der nächste String gleich hinten dran gefügt.
Zur besseren Übersicht wäre ein Absatz von Vorteil. Wenn ich an den String ein \n oder \r dranfüge, kommt dann im Editor immer ein schwarzes Rechteck.
Kann ich irgenwie eine Leerzeile einfügen?
Danke!
Grüße, Stefan
Hi,
Ich bin gerade dabei, ein Gästebuch in PHP zu schreiben, dass die
Daten in eine normale Datei als ASCII abspeichert. Das auslesen
aus dieser Datei... ja, kein Problem. Nur wie muss ich fwrite
angeben, dass die neu eingegeben Daten am Anfang der Datei
drangehängt werden?
Auslesen, neu schreiben:
$fid = fopen("datei","r");
$inhalt = fread($fid,filesize("datei"));
fclose($fid);
$inhalt = "neuer inhalt\n\n" + $inhalt;
$fid = fopen("datei","w");
fwrite($fid,$inhalt);
fclose($fid);
Zur besseren Übersicht wäre ein Absatz von Vorteil. Wenn ich an
den String ein \n oder \r dranfüge, kommt dann im Editor immer
ein schwarzes Rechteck.
Du erstellst die Dateien unter Linux/Unix und der Editor läuft unter
Win? ,)
Da kannst du dann gar nichts machen, weil die Zeichen-Formate sich
leicht unterscheiden.
mfg
CK1
hi ihr beide ;-)
$inhalt = "neuer inhalt\n\n" + $inhalt;
das soll bestimmt
$inhalt = "neuer inhalt\n\n".$inhalt;
heissen ;-)
MfG Olli
Danke euch recht herzlich!
Problem gelöst!
Stefan
Hi,
Da kannst du dann gar nichts machen, weil die Zeichen-Formate sich
leicht unterscheiden.
also ich hab mit "\r\n" ganz gute Erfahrung gemacht, die Linux-Seite mag das \r zwar eigentlich nicht,
aber da man die Datei ja eh nur mit selbstgeschriebenem PHP-Zeugs verwurstet kann man das
einkalkulieren. (Den Browsern und dem WebServer ist es m.e. egal, ob und welche Zeilenenden da sind.)
Plan B: Datei mit FTP im ASCII Modus übertragen, da wird das umgesetzt.
(Win: "\r\n"; Mac:"\r"; Unix:"\n"; )
Gruss,
Carsten
Hi,
(Den Browsern und dem WebServer ist es m.e. egal, ob und welche
Zeilenenden da sind.)
Nicht GANZ... PHP ist eine Formatfreie Sprache, das heißt, daß es
Wurst ist, welches Whitspacezeichen man macht, um die Befehle zu
trennen. Ob es nun Ein Break ist, ein Tab oder ein Leerzeichen, das
ist völlig Wurst.
$var1 = "inhalt"; $var2 = "inhalt2";
ist das selbe wie
$var1 = "inhalt1";
$var2 = "inhalt2";
oder wie
$var1 = "inhalt1"; $var2 = "inhalt2";
Es ist sogar Wurst, ob du überhaupt eins machst, man kann auch
$var1="inhalt1";$var2="inhalt2";
schreiben ,)
Plan B: Datei mit FTP im ASCII Modus übertragen, da wird das
umgesetzt.
Stimmt ,)
nichts für ungut,
CK1
Hi,
(Den Browsern und dem WebServer ist es m.e. egal, ob und welche
Zeilenenden da sind.)Nicht GANZ... PHP ist eine Formatfreie Sprache, [...]
äh... ich weiss.
War wohl leicht missverständlich. Ich meinte das Essen (Daten) und nicht den Koch(Script):
Mir ging es um
<?
echo "Hallo "\r\n";
echo "Hallo "\n";
echo "Hallo "\r";
?>
was passieren kann wenn Stefan in seine Gästebuch Text-Datei Windowstaugliche "\r\n" Zeilentrenner
schreibt, die dann irgendwann mal an den Browser weitergereicht werden.
(Also, das sie nicht rausgefilter werden müssen)
Gruss,
Carsten
Hi,
(Den Browsern und dem WebServer ist es m.e. egal, ob und welche
Zeilenenden da sind.)Nicht GANZ... PHP ist eine Formatfreie Sprache, [...]
äh... ich weiss.
War wohl leicht missverständlich. Ich meinte das Essen (Daten) und nicht den Koch(Script):
Mir ging es um
<?
echo "Hallo "\r\n";
echo "Hallo "\n";
echo "Hallo "\r";
?>
was passieren kann wenn Stefan in seine Gästebuch Text-Datei Windowstaugliche "\r\n" Zeilentrenner
schreibt, die dann irgendwann mal an den Browser weitergereicht werden.
(Also, das sie nicht rausgefilter werden müssen)
Gruss,
Carsten