私は個人的に限られた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です)
これが許可の問題かどうかはわかりませんか?サーバーの事?コードのこと?