Я не уверен, что вы пытаетесь здесь, но на некоторых платформах (но не Windows) вы можете открыть файл в неблокирующем режиме с флагом n
:
$f = fopen("/tmp/foo/bar", "wn+");
Это должно немедленно вернуться. Тогда вы, вероятно, можете использовать stream_select
с таймаутом 50 мс.
Я говорю «вероятно», потому что этот флаг не задокументирован.