Die Funktion flock() sperrt oder gibt eine Datei frei.
Bei Erfolg gibt die Funktion TRUE zurück. Wenn dies fehlschlägt, wird FALSE zurückgegeben.
Herde (Datei, Sperre, Block)
Parameter | beschreiben |
---|---|
Datei | Erforderlich. Gibt eine geöffnete Datei an, die gesperrt oder freigegeben werden soll. |
sperren | Erforderlich. Gibt an, welcher Sperrtyp verwendet werden soll. Mögliche Werte: LOCK_SH – gemeinsame Sperre (Leseprogramm). Erlauben Sie anderen Prozessen den Zugriff auf die Datei. LOCK_EX – Exklusive Sperre (Schreibprogramm). Verhindern Sie, dass andere Prozesse auf die Datei zugreifen. LOCK_UN – Eine gemeinsame oder exklusive Sperre freigeben LOCK_NB – Vermeiden Sie das Blockieren anderer Prozesse, wenn diese gesperrt sind. |
Block | Optional. Wenn der Wert auf 1 gesetzt ist, werden beim Sperren andere Prozesse blockiert. |
Hinweis: Diese Sperren werden nur innerhalb des aktuellen PHP-Prozesses verwendet. Wenn die Berechtigungen dies zulassen, können andere Prozesse eine PHP-gesperrte Datei ändern oder löschen.
Hinweis: flock() ist unter Windows obligatorisch.
Tipp: Sie können den Sperrvorgang über fclose() aufheben, das automatisch aufgerufen wird, wenn die Skriptausführung abgeschlossen ist.
<?php$file = fopen("test.txt","w+");// exklusive Sperre flock($file,LOCK_EX)) { fwrite($file,"Write Something"); // Sperre freigeben flock( $file,LOCK_UN); }else { echo „Fehler beim Sperren der Datei!“ }fclose($file);?>