2016-09-26 4 views
0

Итак, это мой текущий код до сих пор:Как сортировать и отображать файлы и папки в папку

<?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 файлы, чтобы они были перечислены один за другим. Но я не знал, как это выписать.

ответ

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

Тогда вы можете просто перебирать каждый массив, папки, а затем файлы.

 Смежные вопросы

  • Нет связанных вопросов^_^