Tom: Formatieren von per php eingelesener txt-datei

Beitrag lesen

Hello,

Von allen Fehlerursachen, die du hier aufzählst, wäre IMHO nur Locking zu betrachten. Alle anderen sind auf Programmierfehler, Konfigurationsfehler oder externe Fehler (URL nicht erreichbar) zurückzuführen und bedeuten, dass das Script und seine Konfigurationsumgebung sowieso nochmal zum Debugging muss.

Eben nicht! Es kommt auf die Applikation an.
Wenn ich lesend auf eine Datei zugreife, und sie ist nicht vorhanden, muss vielleicht genau DANN auf den Programmteil "Anlegen" verwezigt werden. Der Status kann also durchaus Auswirkungen auf den Steuerfluss des Programmes haben.

Wie das mit der Sperre der Datei speziell bei file_get_contents() aussieht, weiß ich im Moment nicht genau, aber generell sollte sowas in einer Multi-User-Umgebúng möglich sein.

Ja, eigentlich schon, wobei konkurrierendes Lesen ja unbedenklich ist. Auf die Schnelle habe ich aber den Eindruck, dass file_get_contents() trotz eines gesetzten Locks lustig irgendwas liest. Die diversen Konstruktionen mit flock() und file_get_contents() lassen mich sowas vermuten.

File_get_contents() ist mit flock() nicht stuerbar, da man an das Handle ja nicht herankommt. Dies müsste also dann über ein Funktionsargument gesteuert werden, so wie es bei file_put_contents() der Fall ist, wird es aber nicht. Nach POSIX müsste die Funktion aber sowieso den Stream zum Lesen absichern. Ich habe das aber noch nicht nachgeschaut im Quellcode, ist auch etwas komplex. Vielleicht kann Christian hier mehr sagen.

Generell gilt, dass auch zum Lesen gesperrt werden sollte, zumindest mit einem LOCK_SH, wenn man Wert darauf legt, keine korrupten Daten anzuzeigen.

Es soll ja nicht fälschlicherweise gelesen werden, während jemand anderes gerade schreiben lässt.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de