согласно PHP документации для file_exists()PHP для file_exists() или функции
Результаты этой функции кэшируются. Подробнее см. Clearstatcache() для .
Но он не предоставляет информацию о том, как долго php будет хранить эту информацию в кеше. Я проверил документацию для clearstatcache() , но такой информации нет. Googling также не помог это время.
Я создаю приложение, в котором вызывается файл_exists для генерации некоторого вывода, и поскольку проверяемый файл может быть удален любым пользователем любым пользователем, я должен быть уверен, действительно ли он существует до генерации вывода.
Вызов clearcache() до того, как файл_exists() решит цель, но только для любопытства. Я хотел бы знать, как долго PHP будет кэшировать информацию о файлах (время по умолчанию) и по какой переменной я могу это время истечения срока действия кеша ?
EDIT 1: В реале повторная проверка файла file_exists() после удаления файла возвращает false, но если это так, каково значение кеша, как написано в документации?
EDIT 2:
<?
var_dump(file_exists('/home/user/filecheck.php'));
sleep(20);
// after running script, sleep for 20 seconds just to quickly delete this file manually before file_exists is called again.
// unlink is not used since as per documentation it'll clear php cache.
var_dump(file_exists('/home/user/filecheck.php'));
?>
и ответ сценария
boolean true
boolean false
Это означает, что PHP не кэширует file_exists информации, если файл существует даже для такого же исполнения, то почему написано в документации, что «результаты этой функции кэшированы»?
PHP кэширует эту информацию на время запроса –
длительность запроса ??? – agaggi
PHP выполняет индивидуальные запросы на веб-сервер, каждый в своем потоке; и когда ответ возвращается веб-браузеру, запрос заканчивается –