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() чтобы преодолеть это.

Другие вопросы по тегам