Я показываю список каталогов. Я пытаюсь получить файлы, отсортированные по имени файла, но также сортироваться по их расширению.PHP - Сортировка данных после первоначального сортировки
Перед дисплеем ...
- сортировка по имени файла первого
- то сортировать по расширению в рамках такого рода
Пример:
a_first.jpg
a_first.png
a_first. zip
b_second.doc
b_second.gif
b_second.jpg
<?php
function getFileExt($filename) {
return substr(strrchr($filename,'.'),1);
}
$handle=opendir(dirname(__FILE__));
while (($file = readdir($handle))!==false) {
$fileExt = strtolower(getFileExt($file));
if(in_array($file, $ignore_file_list)) { continue; }
if(in_array($fileExt, $ignore_ext_list)) { continue; }
if(is_dir($file)) { $fileExt = "dir"; }
/*
HERE:
Before display...
- sort by filename first
- then sort by extension within this sort
Example:
a_first.jpg
a_first.png
a_first.zip
b_second.doc
b_second.gif
b_second.jpg
*/
echo '
<div><a href='.$file.' class='.$fileExt.'> </a></div>
<div><a href='.$file.'>$file</a></div>
';
}
closedir($handle);
?>
Я не уверен, если мне нужно сделать второй вид (= расширения файлов) в пределах при использовании FOREACH или сделать FOREACH вне WHILE (ставить данные в массив сначала) или это ситуация с сортировкой нескольких массивов или ... ???
FYI: Использование базы данных для этого не является вариантом.
Любая помощь приветствуется.
Сплит файлы по имени и типа файла в массив и отсортировать массив затем присоединитесь к ним вместе –