PHP:首先排序文件夹,然后排序文件

Ogy*_*Ogy 8 php sorting directory

$dir = '/master/files';
$files = scandir($dir);
foreach($files as $file){
   if(($file != '.') && ($file != '..')){
      if(is_dir($dir.'/'.$file)){
         echo '<li class="folder">'.$file.'</li>';
      }else{
         echo '<li class="file">'.$file.'</li>';
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

从上面的脚本中,我得到了结果:

images (folder)
index.html    
javascript (folder)
style.css
Run Code Online (Sandbox Code Playgroud)

如何先对文件夹进行排序,然后再对文件进

Pra*_*dra 8

试试这个 :

$dir = '/master/files';
$directories = array();
$files_list  = array();
$files = scandir($dir);
foreach($files as $file){
   if(($file != '.') && ($file != '..')){
      if(is_dir($dir.'/'.$file)){
         $directories[]  = $file;

      }else{
         $files_list[]    = $file;

      }
   }
}

foreach($directories as $directory){
   echo '<li class="folder">'.$directory.'</li>';
}
foreach($files_list as $file_list){
   echo '<li class="file">'.$file_list.'</li>';
}
Run Code Online (Sandbox Code Playgroud)

  • 我认为两个foreach不好,在创建数组时保存li,然后使用implode进行打印更好 (2认同)