【问题标题】:How to sort & display files and folders within folder如何排序和显示文件夹内的文件和文件夹
【发布时间】:2016-09-26 09:26:48
【问题描述】:

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

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

所以, 这个想法是在过滤掉'。 , '..' 和 'Thumbs.db' 它显示文件夹的剩余项目,旁边有一个文件夹或文件图标。
我的问题是,如何获取顶部列出的所有文件夹和底部列出的文件?
我的想法是先 glob 文件夹,然后 glob 文件,以便它们一个接一个地列出。但我不确定如何写出来。

【问题讨论】:

    标签: php glob


    【解决方案1】:

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

    $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);
    });
    

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

    【讨论】:

      猜你喜欢
      • 2010-12-18
      • 1970-01-01
      • 1970-01-01
      • 2020-02-03
      • 1970-01-01
      • 1970-01-01
      • 2017-05-17
      • 1970-01-01
      • 2021-04-29
      相关资源
      最近更新 更多