// example: $stream = fopen(<strong>FILE</strong>, 'rb') or die('???');
$md = stream_get_meta_data($stream);
echo $md['wrapper_type'];<br>
flock($stream);
если это печатает
plainfile , тогда вызов функции php flock () обрабатывается php_stdiop_set_option (...), который вызывает flock (). В зависимости от того, был ли PHP скомпилирован с HAVE_FLOCK или нет, это может быть системный вызов
flock () или функция, определенная в flock_compat.c, которая использует
fcntl () . В моей системе gentoo PHP был скомпилирован с HAVE_FLOCK.
main / streams / plain_wrapper.c @ static int php_stdiop_set_option (...):
case PHP_STREAM_OPTION_LOCKING:
if (fd == -1) {
return -1;
}
if ((zend_uintptr_t) ptrparam == PHP_STREAM_LOCK_SUPPORTED) {
return 0;
}
if (!flock(fd, value)) {
data->lock_flag = value;
return 0;
} else {
return -1;
}
break;