Hello,
Ich habe einen neuen Artikel geschrieben: Sperren von Dateien.
Sehr lobenswert!
Anmerkung zum PHP-Teil:
if (!flock ($fp, LOCK_EX)) {
die ('Sperren der Datei fehlgeschlagen!');
Bist Du sicher, dass das die überhaupt noch ausgeführt wird?
MMn wartet das flock() solange, bis es Erfolg hat, oder aber das PHP-Timeout zuschlägt.
Und _wenn_ die() hier jemals ausgeführt würde, wäre es nicht unbedingt geschickt, ein größeres Skript derartig abzubrechen. Es sollte dann eine qualifizierte Fehlerbehandlung stattfinden, die den User nicht in den Wald stellt.
Leider sind solche ja durchaus "funzenden" Beispiele geeignet, sich über den Weg des Copy & Paste beliebig oft zu vervielfältigen und sich dann als Standart (sic!) zu etablieren.
Wenn Du es also nicht als allzu unverschämt empfindest, würde ich an diesen Stellen gerne "nachrüsten" und zumindest vernünftige Funktionen mit qualifizierter Fehlerbehandlung dafür vorschlagen.
Ein paar Grafiken würden die Sache sicher noch verständlicher machen, aber dafür bin ich leider nicht der passende Künstler.
Noch eine Frage zu touch(), und den anderen namensbasierten Dateifunktionen:
Hat schonmal jemand ausprobiert, was die machen, wenn es auf ein Advisory Lock laufen?
Eigentlich sollte sowas im PHP-Manual dokumentiert sein, aber ich konnte bisher nie etwas finden zu dem Thema. Nur bei file_put_contents() http://de2.php.net/manual/de/function.file-put-contents.php ist da inzwischen 'was eingebaut.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)