PHP-файл не обновляется
Я лично знаю ограниченный PHP, однако у меня есть другой скрипт, который я немного подправил
<?php
function getFiles($dir)
{
$arr=scandir($dir);
$res=array();
foreach ($arr as $item)
{
if ($item=='..' || $item=='.'){continue;}
$path=$dir.'/'.$item;
if (is_dir($path))
{
$res=array_merge($res,getFiles($path));
}
else
{
$res[$path]=fileatime($path);
}
}
return $res;
}
$files=getFiles(dirname('Manuals'));
arsort($files);
$files=array_slice(array_keys($files),0,11);
foreach ($files as $file)
{
$URL=$file;
$file = trim(substr($file, strrpos($file, '/') + 1));
$file = str_replace(".pdf", "", $file);
echo '<!--<li style="margin-left: -25px; white-space: pre;">--><a href="'.$URL.'" title="'.$file.'">'.$file.'</a><br />';
}
?>
изменение предыдущего времени файла на fileatime в "$res[$path]=fileatime($path);"
Исходя из того, что я понял, это должно показать время последнего доступа к файлу, однако, похоже, что оно не отличается от filemtime или filectime. Возможно, сервер не обновляет время доступа? (все файлы html, php и pdf)
Любая идея, если это вещь разрешений? серверная вещь? код вещь?
1 ответ
Решение
Вы можете увидеть один из двух эффектов:
На многих веб-серверах смонтированы файловые системы, несущие веб-данные.
noatime
чтобы сохранить дорогой ввод-вывод обновления atime для каждого запроса.PHP-кеш fstat имеет тенденцию к самостоятельной жизни: use
clearstatcache()
чтобы преодолеть это.