Ответ 1
flock()
на самом деле не мешает вам читать/записывать в файл, он позволяет вам "обмениваться" идеями блокировки с другими сценариями. Вы можете обнаружить, есть ли блокировка файла, используя опубликованный фрагмент.
Будет ли fopen()
сбой, если файл существует, но в настоящее время заблокирован с помощью LOCK_EX
?
Или мне нужно его открыть, а затем попытаться установить блокировку, чтобы определить, существует ли она уже существует?
Я также читал, что flock()
будет;
приостановить [script] до тех пор, пока вы не получите блокировку на неопределенное время или до истечения времени script
Если это так, верно ли это, эта "пауза" может быть передана с помощью:
if (!flock($f, LOCK_SH | LOCK_NB)) {
// file locked, do something else
}
flock()
на самом деле не мешает вам читать/записывать в файл, он позволяет вам "обмениваться" идеями блокировки с другими сценариями. Вы можете обнаружить, есть ли блокировка файла, используя опубликованный фрагмент.