如何排序&显示文件夹中的文件和文件夹

时间:2016-09-26 01:04:12

标签: php glob

所以,这是我目前的代码:

<?php
$path = 'Files';
$scan = scandir($path);
foreach($scan as $file)
  switch ($file) {
      case '.':
        echo "";
        break;
       case '..':
        echo "";
        break;
       case 'Thumbs.db':
        echo "";
        break;
      default:
        if (strpos($file, '.') == false) {
            echo 'folder.jpg';
        } else {
            echo  'file.jpg';
        }
    echo ' - <a href="'.$path.'/'.$file.'">'.$file.'</a></br>';
    break;
}
?>

所以, 这个想法是在过滤掉&#39;。&#39; ,&#39; ..&#39;和&#39; Thumbs.db&#39;它显示文件夹的其余项目,旁边有文件夹或文件图标 我的问题是,如何获得顶部列出的所有文件夹和底部的文件?
我的想法是首先将文件夹全局化,然后对文件进行全局处理,使它们一个接一个地列出。但我不确定如何写出来。

1 个答案:

答案 0 :(得分:0)

我只创建了两个数组,一个用于文件,另一个用于文件夹

$folders = array_filter($scan, function($f) {
    return $f != '.' && $f != '..' && is_dir($f);
});
$files = array_filter($scan, function($f) {
    return $f != 'Thumbs.db' && is_file($f);
});

然后你可以先遍历每个数组,首先是文件夹,然后是文件。