<?php
$dwurl = "Tracks Page/";
$array = array();
$dir = "all tracks";
$files = glob("$dir/*.mp3");
for($i = 0; $i < count ($files); $i++){
$array[] = $files[$i];
}
for ($e=0; $e < count($array); $e++) {
sort(filectime($array[$e]));
echo "<li class='current-song'><a href='".$array[$e]."'>".basename(str_replace(mp3, " ", ($array[$e])))."</a></li>";
echo "<pre style='font-size:3px;'> </pre>";
echo "<a class='down' href='".$dwurl .basename(str_replace(mp3, "", ($files[$e])))."php'> Скачать</a>";
echo "<br>";
}
?>
Как можно отсортировать этот массив по дате создания mp3-файла?
Первое надо добавить в массив дату создания файла
for($i = 0; $i < count ($files); $i++){
$array[] = [
'name' => $files[$i],
'time' => filectime($dir.'/'.$files[$i]),
];
}
дальше отсортировать массив по ключу time
usort($array, function($a, $b){ return $a['time'] - $b['time']; });
ну и надо удалить лишнюю информацию
$result = array_column($array, 'name');
Я бы предложил следующее:
$files = glob("$dir/*.mp3");
usort($files, function($a, $b) {
return filectime($a) <=> filectime($b);
});
А вашу сортировку следовало бы удалить.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей