Gustav Gans: Lesen und Schreiben von Dateien

Beitrag lesen

Hi,

Im schon mehrfach angesprochene Artikel über das Sperren von Dateien ist der übliche Weg beschrieben, diese Problematik nicht zum Problem werden zu lassen.

Zu diesem Artikel habe ich eine Frage, ich verstehe etwas nicht ganz, zB:

  
 <?php  
touch ('counter.txt');  
$fp = fopen ('counter.txt', 'r+');  
if (!is_resource ($fp)) {  
  die ('Konnte die Datei nicht öffnen!');  
}  
if (!flock ($fp, LOCK_EX)) {  
  die ('Sperren der Datei fehlgeschlagen!');  
}  
ftruncate ($fp, 0);  
fwrite ($fp, '0');  
fclose ($fp);  
  
echo "Zähler wurde zurückgesetzt.";  
?>  

Bei der zweiten if-Abfrage wird gefragt: Wennn die Sperre _nicht_ möglich ist/wenn nicht gesperrt ist, dann...

Aber es gibt keinen _direkten_ Sperrbefehl. Also so in der Art wie flock ($fp, LOCK_EX));

Wenn ich abfrage, ob $a==1, dann heißt das ja auch nicht automatisch, daß $a=1 gesetzt wird.

Frage: Wieso gibt es in all dem Beispielen des verlinkten Artikels immer nur  if-Abfragen mit !flock und nirgends eine direkte flock-Anweisung?

MfG

Gustav Gans