php - 如何对文件和目录列表进行排序,使目录在 PHP 中首先列出

标签 php arrays sorting

如何对文件和目录列表进行排序,以便目录在 PHP 中首先列出??? 我尝试了 natsort 但它只按字母顺序排序。 我的来源:

$dirFiles = array();
$path = "./folder_path";
// opens images folder
if ($handle = opendir($path)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." &&  $file != ".." && $file != "index.php" && $file != "Thumbnails" && $file != ".DS_Store") {
        $isdir = $path . $file;
         if(is_dir($isdir)){
            $dirFiles[] = $file;
         }
         if(!is_dir($isdir)){
            $dirFiles[] = $file;
         }
        }
    } 
    closedir($handle);
}
natsort($dirFiles);

列出文件和目录

foreach($dirFiles as $file => $value)
{
     $name = basename($value);
     echo $name;
}

最佳答案

您可以创建一个多维数组:

if(is_dir($isdir)){
    $dirFiles['dir'][] = $file;
}
if(!is_dir($isdir)){
    $dirFiles['file'][] = $file;
}

列出文件和目录:

ksort($dirFiles);
foreach($dirFiles as $files)
{
    foreach($files as $file)
    {
        $name = basename($file);
        echo $name;
    }
}

关于php - 如何对文件和目录列表进行排序,使目录在 PHP 中首先列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23197433/

相关文章:

c - 获取空初始化字符串数组的第一个值

javascript - 排序功能无法正常工作

php - 在不重新索引的情况下对数组的数值进行排序 (PHP)

php - Symfony 2 和遗留应用程序的自定义 session 变量

php - 第一句正则表达式

Java 2D 数组维度

c++ - 通过引用传递未知等级的数组

javascript - 按频率计数排列电子邮件地址数组

javascript - 使用 php echo 定义一个 javascript var

php - jquery 视口(viewport)信息未传递给 php