2010-06-30 31 views
14

Czy fopen() zakończy się niepowodzeniem, jeśli plik istnieje, ale jest obecnie zablokowany na LOCK_EX?PHP sprawdza, czy plik jest zablokowany flock()?

Czy muszę go otworzyć, a następnie spróbuj ustawić blokadę, aby ustalić, czy już istnieje?

Czytałem również, że flock() będzie;

pauza [skrypt] transferowy masz blokadę na nieokreślony okres czasu lub do swoich czasów skryptów z

http://www.php.net/manual/en/function.flock.php#95257

Jeśli tak, to prawda ta „przerwa” może być obejść z;

if (!flock($f, LOCK_SH | LOCK_NB)) { 
    // file locked, do something else 
} 

Odpowiedz

10

flock() nie faktycznie uniemożliwić odczyt/zapis do pliku, a jedynie pozwala na „komunikować się” pomysły blokowania do innych skryptów. Możesz wykryć, czy jest blokada pliku przy użyciu opublikowanego fragmentu.

+0

Bardzo doceniany Daniel :) – TheDeadMedic

Powiązane problemy