Hallo,
Wenn bei file() ein Fehler auftritt, wird kein Array sondern false zurückgeliefert. Diesen Sonderfall berücksichtigst du nicht. Vermutlich tritt dieser Fall auf, wenn die Datei gerade mit flock() gesperrt ist.
Nein!
Die flock()-Funktion ist nur advisory und muss daher in der Applikation beachtet werden. File() tut dies aber nicht.
Das bedeutet also, dass File() immer das ausliest, was gerade
noch vorhanden und lesbar ist.
Anders wäre das mit den dio_-Funktionen
http://de.php.net/manual/de/ref.dio.php
Die sperren die Datei in der Betriebssystemschicht, also mandatory.
Die Applikationen kommen also an dieser Sperre nicht vorbei.
Das würde dann auch für file() zutreffen.
Da File() aber eine namensbasierte Funktion ist und keine handlebasierte, eignet es sich nicht für Multiuser-Aufgaben, bzw. für
Datenmanipulation. File() sollte man ausschließlich für reine Datenanzeigen verwenden, bei denen die Konsistenz nicht wesentlich ist.
LG
Chris