PHP: fopen("","A");

Hi.
Ich habe derzeit ein Problem mit dem schreiben in Textdateien. Ich versuche gerade ein Gästebuch in PHP zu schreiben wobei der neue Eintrag immer ganz oben in einer Text-datei gespeichert werden soll.
Nur, egal was ich bei fopen angebe (r,r+,w,w+,a,a+)
Der schon existierende Text wird entweder gelöscht oder er wird unten (bei a) angehängt.
Ich will aber das er oben Angehängt wird.
Also z.B. so:
Text datei:

EINTRAG 2:
lala bla bla

EINTRAG 1:
la la la

Wie mache ich das???
cu und danke,
little_Newbie
 
PHP:
$testdb=\"database/guestbook.txt\";

$eintrag=\"eintrag blub\";

$fp=fopen($testdb,\"w\");
fputs($fp,$eintrag);
fclose($fp);

r = nur lesen, dateizeiger am anfang
r+ = lesen und schreiben, dateizeiger am anfang
w = nur schreiben, dateizeiger am anfang, dateilänge auf 0
w+ = lesen und schreiben, dateizeiger am anfang, dateilänge auf 0
a = nur schreiben, dateizeiger am ende
a+ = lesen und schreiben, dateizeiger am ende
 
hmm... geht noch nicht so richtig.
Wenn ich es mit w Versuche, wird zwar der Text in der Textdatei gespeichert, allerdings wird der letzte Eintrag gelöscht.
w = Eintrag da, letzter gelöscht.
w+ = Eintrag da, letzter gelöscht
r+ = Eintrag da, letzter gelöscht
a+ = Eintrag da, aber eben unter dem vorherigen

Ich verstehe das nicht!
Habe sogar GENAU deinen QT probiert, Mackz.
bitte um Hilfe,
little_Newbie
 
ups :D da hab ich doch glatt

$eintrag.="\n";
$eintrag.=implode("",file($testdb));

nach $eintrag="eintrag blub"; vergessen

das \n fügt einen zeilenumbruch hinzu
 
Danke jetzt gehts!
Nur eine kleinigkeit giebt es noch.
Es kommt nicht ein Zeilenumbruch, sondern 4. Das verlängert den QT etwas arg...

Was bewirkt implode() ?
Will ja schließlich auch wissen, was ich da verwende *gg*.
cu und danke,
little_Newbie
 
Original von little_Newbie
Es kommt nicht ein Zeilenumbruch
wenn es unter win nicht dargestellt wird kannst du stattdessen auch ein <br> verwenden.

Was bewirkt implode() ?
implode() verbindet array elemente zu einem string.
syntax: implode ( füllzeichen, array)

es wird halt der vorhandene inhalt der txt mit dem in $eintrag zusammen gefügt.
 
Zurück
Oben