Добрый вечер!
Есть готовый список файлов
/file0.txt
/folder1/file1.txt
/folder2/file2.txt
/folder2/file3.txt
/file4.txt
/file5.txt
/folder3/folder5/file6.txt
/folder6/folder7/folder8/file7.txt
/folder6/folder7/file8.txt
Подскажите, как отсорировать список файлов, чтобы они были расположены в естественном порядке. То есть вверху директории, внизу файлы. Самом собой чтобы директории и файлы были отсортированы по алфавиту.
Мой вариант не решает задачу как надо, файлы располагаются выше директорий.
uasort($files, function ($a, $b) {
$a_basedir = dirname($a);
$b_basedir = dirname($b);
$a_basename = basename($a);
$b_basename = basename($b);
if ($a_basedir == $b_basedir)
return strcmp($a_basename, $b_basename);
return strcmp($a_basedir, $b_basedir);
});
Спасибо.