Tom: Datei schreiben

Beitrag lesen

Hello,

Aber auch PHP kann den Dateizeiger gezielt bewegen und hat eine recht gute String-Verarbeitung und da liegt die Lösung.

lesend, ja - aber auch schreibend?

Das ist unabhängig vom gewünschten Öffnungsmodus.
Echte "Textdateien" kennt PHP (und C) ja gar nicht mehr.
PHP hat nur Random Access Files.

(und wenn ja, müsste sich m.E. PHP selbst darum kümmern, also komplette datei intern einlesen, inhalt an position tauschen, und kompletten dateiinhalt zurückschreiben - denn ein sequentielles dateisystem unterstützt wie gesagt m.W. schreiben an eine bestimmte position innerhalb einer datei nicht. ausserdem gäbe das echte schwulitäten, wenn der neu geschriebene inhalt länger oder kürzer wäre, als der alte ...)

Genau da liegt das Problem. PHP kennt keine Statischen Datenstrukturen, sowas wie "struct" oder "record". Die benötigt man aber, wenn man satzorientiert lesen und schreiben will.

mit fseek($fh) wird der Datensatzeiger positioniert und mit fread($fh, $anzahl) kann man dann genau $anzahl Bytes lesen oder mit fwrite($fh,$data,$anzahl) genau $anzahl Bytes aus dem Datenblock $data wegschreiben. Der Programmierer ist verantwortlich dafür, dass er nicht über das Satzende hinaus schreibt und dass die Daten im Satz genau dort liegen, wo er sie angeordnet hat.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen