我已使用以下脚本正确显示所选目录及其子目录中的所有文件。有谁知道如何修改此代码只回显目录/子目录中的最新文件?
function ListFiles($dir) { if($dh = opendir($dir)) { $files = Array(); $inner_files = Array(); while($file = readdir($dh)) { if($file != "." && $file != ".." && $file[0] != '.') { if(is_dir($dir . "/" . $file)) { $inner_files = ListFiles($dir . "/" . $file); if(is_array($inner_files)) $files = array_merge($files, $inner_files); } else { array_push($files, $dir . "/" . $file); } } } closedir($dh); return $files; } } foreach (ListFiles('media/com_form2content/documents/c30') as $key=>$file){ echo "{aridoc engine=\"google\" width=\"750\" height=\"900\"}" . $file ."{/aridoc}"; }
最佳答案
在 PHP5
中,您可以使用 RecursiveDirectoryIterator
递归扫描目录中的所有文件:
$mostRecentFilePath = "";
$mostRecentFileMTime = 0;
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("YOURDIR"), RecursiveIteratorIterator::CHILD_FIRST);
foreach ($iterator as $fileinfo) {
if ($fileinfo->isFile()) {
if ($fileinfo->getMTime() > $mostRecentFileMTime) {
$mostRecentFileMTime = $fileinfo->getMTime();
$mostRecentFilePath = $fileinfo->getPathname();
}
}
}
关于PHP - 如何从目录和子目录中获取最新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9371944/