<?php ## Модель процесса-читателя.
$file = "file.txt";
// Вначале создаем пустой файл, ЕСЛИ ЕГО ЕЩЕ НЕТ.
// Если же файл существует, это его не разрушит.
fclose(fopen($file, "a+b"));
// Блокируем файл.
$f = fopen($file, "r+b") or die("Не могу открыть файл!");
flock($f, LOCK_SH); // ждем, пока не завершится писатель
// . . .
// В этой точке мы можем быть уверены, что в файл
// никто не пишет.
// . . .
// Все сделано. Снимаем блокировку.
fclose($f);
?>
автор призывает использовать тут только
fopen($file, "r+b")
или
fopen($file, "rb")
, но ведь при режиме
a+
, fseek() нормально работает для чтения, а в данном случае после
flock($f, LOCK_SH);
и до
fclose($f);
файл используется только для чтения, почему тогда только
r
,или
r+
?