PHP проверяет, заблокирован ли файл flock()?

Будет ли fopen() сбой, если файл существует, но в настоящее время заблокирован с помощью LOCK_EX?

Или мне нужно его открыть, а затем попытаться установить блокировку, чтобы определить, существует ли она уже существует?

Я также читал, что flock() будет;

приостановить [script] до тех пор, пока вы не получите блокировку на неопределенное время или до истечения времени script

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

Если это так, верно ли это, эта "пауза" может быть передана с помощью:

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

Ответы

Ответ 1

flock() на самом деле не мешает вам читать/записывать в файл, он позволяет вам "обмениваться" идеями блокировки с другими сценариями. Вы можете обнаружить, есть ли блокировка файла, используя опубликованный фрагмент.