Mit PHP eine Textdatei editieren?
Acidos
- php
0 Philipp Lenz0 Acidos
Guten Morgen :)
Kann ich mit PHP eine Textdatei editieren? Im konkreten Falle geht es um ein News-script das comments zulässt. die anzahl der comments werden zusammen mit autor, datum und text in eine datei newsXXX.txt geschrieben, die comments an sich in eine datei COMMENTXXX.txt.
wenn ich jetzt jedoch einen comment verfasse, wird, wenn ich newsXXX.txt mit 'W' öffne um die anzahl der comments zu editieren, deren kompletter inhalt gelöscht. bei 'a' kann ich selbst wenn ich mit fseek an die gewünschte stelle springe die anzahl der comments einfach hinten drangehängt.
kann mir jemand helfen?
danke, Cersten
Hallo, verwende die Option 'a+' bei fopen, somit wird die Datei zum lesen und schreiben geöffnet. Der Dateizeiger steh dann am Ende der Datei die Dateigrösse wird bei 'a' oder 'w' auf 0 gesetzt.
Hallo, verwende die Option 'a+' bei fopen, somit wird die Datei zum lesen und schreiben geöffnet. Der Dateizeiger steh dann am Ende der Datei die Dateigrösse wird bei 'a' oder 'w' auf 0 gesetzt.
Hum... das problem ist, dass bei mir mit a+ immer ans ende der datei geschrieben wird, obwohl ich mit fseek die richtige position angebe. ich poste mal den code:
$FP=fopen("news".$item.".txt","r");
$tmp_text=chop(fgets($FP,100));
while ($tmp_text!='EOF'){
$tmp_text=chop(fgets($FP,100));}
$offset_=ftell($FP);
fclose($FP);
$FP=fopen("news".$item.".txt","a+");
fseek($FP,$offset_);
fputs($FP,$comment+1);
fclose($FP);
zur Erläuterung:
die datei newsXXX.txt ist aufgebaut:
Autor, Datum
Text
EOF (markiert das ende des Textes)
Anzahl der Comments
wenn ich das ganze ausführe und comments auf 1 steht, wird z.b aus dem 1nen comment 12 statt 2