Будет ли fopen()
терпеть неудачу, если файл существует, но в настоящее время заблокирован LOCK_EX
?
Или мне нужно открыть его, а затем попытаться установить блокировку, чтобы определить, существует ли она уже?
Я также прочитал, что flock()
будет;
пауза [сценарий] до тех пор, пока вы не получите блокировку на неопределенное время или до истечения срока действия вашего скрипта
http://www.php.net/manual/en/function.flock.php#95257
Если это так, верно ли это, эта пауза может быть обходится с;
if (!flock($f, LOCK_SH | LOCK_NB)) { // file locked, do something else }
flock()
самом деле не мешает вам читать / писать в файл, он позволяет вам «обмениваться» идеями блокировки с другими скриптами. Вы можете обнаружить, есть ли блокировка файла, используя опубликованный фрагмент.