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 />';
 }
?>

在"$res[$path]=FileaTime($path);"中将上一个 FilemTime 更改为 Fileatime。

从我收集的信息来看,这应该显示上次访问文件的时间,但它的功能似乎与Filemtime或Filectime没有什么不同。也许服务器没有更新访问时间?(所有文件均为 HTML、PHP 和 PDF)

知道这是否是权限的事情吗?服务器的事情?代码的事情?

您可能会

看到以下两种效果之一:

  • 在许多 Web 服务器上,承载 Web 数据的文件系统都挂载noatime,以节省为每个请求及时更新的昂贵 IO。

  • PHP 的 fstat 缓存往往有自己的生命:使用 clearstatcache() 来克服这个问题。

相关内容

  • 没有找到相关文章

最新更新