PHP flock() function

Definition and Usage

The flock() function locks or releases a file.

Returns true on success. Returns false on failure.

Syntax

flock(Beschreibung der flock() Operation,Lock,block)
Parameter Description
Beschreibung der flock() Operation Required. Specifies the opened file to be locked or released.
Lock Required. Specifies which locking type to use.
block Optional. If set to 1 or true, it will block other processes when locking.

说明

Anweisung Beschreibung der flock() Operation file

Lock Muss ein bereits geöffneter Dateipointer sein.

  • Der Parameter kann einer der folgenden Werte sein: Lock auf LOCK_SH (in Versionen vor PHP 4.0.1 auf 1 eingestellt).
  • Um einen exklusiven Lock (Schreibprogramm) zu erhalten, geben Sie Lock auf LOCK_EX (in Versionen vor PHP 4.0.1 auf 2 eingestellt).
  • Um den Lock freizugeben (egal ob gemeinsam oder exklusiv), geben Sie Lock auf LOCK_UN (in Versionen vor PHP 4.0.1 auf 3 eingestellt).
  • Wenn flock() nicht blockieren soll, wenn gesperrt wird, geben Sie Lock mit LOCK_NB (in Versionen vor PHP 4.0.1 auf 4 eingestellt).

Hinweise und Kommentare

Hinweis:Durch fclose() Zur Freigabe der Lock-Operation wird dies ebenfalls automatisch aufgerufen, wenn der Code ausgeführt wird.

Anmerkung:Da flock() einen Dateipointer benötigt, kann möglicherweise ein spezieller gesperrter Dateipuffer verwendet werden, um den Zugriff auf Dateien zu schützen, die im Schreibmodus geöffnet werden sollen (im fopen()-Funktion "w" oder "w+" hinzufügen).

Beispiel

<?php
$file = fopen("test.txt","w+");
// Exklusiver Lock
if (flock($file,LOCK_EX))
  {
  fwrite($file,"Etwas schreiben");
  // Freigabe des Locks
  flock($file,LOCK_UN);
  }
else
  {
  echo "Datei sperren fehlgeschlagen!";
  }
fclose($file);
?>