Hello,
Ich habe den parameter r+ gewählt mit einem b hinten dran, weil ich windows benutze
parameter r öffnet lesend
parameter + hängt an
B = Binäry und hat nichts mit Windoof zu tunÖffne deine datei mit r und lese, dann schließen und wieder mit w schreiben. Ansonsten must du den Dateizeiger auf den Anfang setzten, dann klappts auch mit dem überschreiben.
die Modi:
r nur zum Lesen, nicht zerstörende Öffnung
w nur zum Schreiben, ZERSTÖRENDE Öffnung
a nur (zum Erzeugen) und Anhängen, eigentllich ursprünglich nur für Textdateien,
nicht zerstörend, nach Behebung eines Bugs ist es nicht mehr möglich, in die bereits
vor der Öffnung vorhandenen Daten hineizuschreiben.
x neuer Modus (zum Anlegen) + Schreiben, nicht zerstörend
r+ auch zum Schreiben, nicht zerstörende Öffnung, Zum Schreiben wahlfreier Zugriff
auf den gesamten Bereich der Datei
w+ auch zum Lesen der gerade geschriebenen Daten
a+ auch zum Lesen aller verfügbarer Daten der Datei
x+ auch zum Lesen aller verfügbaren Daten in der Datei
b bedeutet "binäre Öffnung" und sollte besser IMMER benutzt werden, da anderenfalls
bei Windows eine unerwünschte Interpretation der Textdaten als _Zeilendatenn_
durchgeführt wird und die Zeilenendezeichen auf Windows-Standard umgewandelt werden
Das führ auf jeden Fall zu fehlern, wenn man z.B.Bilder speichert, in deren Stream die
Zeichen (10) und (13) dezimal ASCII ja auch einzeln vorkommen können.
fputs() ist eigentlich ursprünglich auch nur für Textdateien und zeilenweises Schreiben gewesen.
Wenn immer hinten angehängt wird, kann das auch als Ursache haben, dass der Dateizeiger noch vom Lesevorgang hinter der Datei steht. Der muss dann voerher eben erst wieder passend positioniert werden. Der Modus (rb+) oder (r+b), das sollte beides funktionieren, ist geeignet, eine Datei zu öffnen un djedes beliebige Byte der Datei auszutauschen. Schau Dir auch fseek() an.
Außerdem solltest Du die englische Version http://de.php.net/manual/en/function.fopen.php bevorzugen. In deutschen fehlt noch ein großer Teil an Beschreibungen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau