Andreas Korthaus: Frage zu flock()

Beitrag lesen

Hi!

... aber um ehrlich zu sein:
Ich verstehe überhaupt nicht, was du mir sagen willst...  :-(
Kannst mir das evtl. nochmals (mit Bsp?) erklären.

Kein Problem *kram...*

$lock = fopen("lock", "w+");  //öffne Datei "lock"
flock($lock, LOCK_EX);  // Sperre Datei "lock" exklusiv
$fp = fopen("count.txt", r);  // öffne counter-Datei lesend
if($fp) {
  $count = fread($fp, filesize("count.txt"));  // lese counter
  fclose($fp);  // schließe counter-Datei
}
$count++;  // erhöhe counter
$fp = fopen("count.txt", "w");  // öffne counter-Datei schreibend
if($fp) {
  fputs($fp, $count);  // schreibe neuen counter
  fclose($fp);  // schließe counter-Datei
}
fclose($lock);  // schließe Datei "lock" und gebe somit Datei für andere Prozesse frei

Alle Prozesse warten so lange bis die Datei "lock" wieder geschlossen wurde, wenn sie den Counter verändern wollen.

Grüße
Andreas