PHP递归文件夹扫描按修改日期排序

时间:2011-08-31 09:01:12

标签: php sorting recursion readdir filemtime

我正在使用此脚本查看子文件夹的所有子文件夹和文件

   function readfolder($dir)
    {
        global $tfile,$tdir;$i=0;$j=0;$myfiles;
        $myfiles[][] = array();
        if (is_dir($dir)) {
            if ($dh = opendir($dir)) {
                while (($file=readdir($dh)) !== false) {
                    if (!is_dir($dir."\\".$file))
                    {
                        $tfile[$i]=$file;
                        $i++;
                        echo $dir."\\".$file." <b>File</b><br>";
                    }
                    else {
                        if (($file != ".") && ($file != "..")) {
                        $tdir[$j]=$file;
                        echo $dir."\\".$file." <b>Directory</b><br>";
                        readfolder($dir."\\".$file);
                        $j++;
                        }
                    }
                }
                closedir($dh);
            }
        }
    }

    readfolder(".");

有人可以告诉我如何使用filemtime功能(或其他),以便我可以按修改日期对子翻牌和文件进行排序?

1 个答案:

答案 0 :(得分:7)

查看SPL DirectoryIterator。它比你现在正在做的更清洁,并且使它递归是微不足道的。它也有一个合适的mtime方法。