PHP flock()Funktion


PHP Filesystem 参考手册Vollständiges PHP-Dateisystem-Referenzhandbuch

Definition und Verwendung

Die Funktion flock() sperrt eine Datei oder hebt die Sperre auf.

Gibt bei Erfolg TRUE zurück, bei Fehlschlag FALSE.

Syntax

flock(file,lock,block)

Parameters Beschreibung
Datei Erforderlich. Gibt eine geöffnete Datei an, die gesperrt oder freigegeben werden soll.
lock Erforderlich. Gibt an, welche Art von Sperre verwendet werden soll.

Mögliche Werte:

  • LOCK_SH - Gemeinsame Sperre (zum Lesen). Ermöglicht anderen Prozessen den Zugriff auf die Datei.
  • LOCK_EX - Exklusive Sperre (zum Schreiben). Verhindert, dass andere Prozesse auf die Datei zugreifen.
  • LOCK_UN - Gibt eine gemeinsame oder exklusive Sperre frei
  • LOCK_NB - Verhindert das Blockieren anderer Prozesse beim Sperren.
block Optional. Wenn auf 1 gesetzt, blockiert es andere Prozesse während des Sperrens.


Tipps und Hinweise

Hinweis:Diese Sperren werden nur innerhalb des aktuellen PHP-Prozesses verwendet. Wenn die Berechtigungen es zulassen, können andere Prozesse eine PHP-gesperrte Datei ändern oder löschen.

Hinweis:flock() ist unter Windows obligatorisch.

Tipp:Die Sperre kann über fclose() freigegeben werden, wobei fclose() automatisch aufgerufen wird, wenn die Skriptausführung abgeschlossen ist.


Beispiele

<?php

$file = fopen("test.txt","w+");

// exklusive Sperre
if (flock($file,LOCK_EX))
{
fwrite($file,"Schreibe etwas");
// Sperre freigeben
flock($file,LOCK_UN);
}
else
{
echo "Error locking file!";
}

fclose($file);
?>


PHP Filesystem 参考手册Vollständiges PHP-Dateisystem-Referenzhandbuch Weitere Erweiterungen