Сортировка массива по дате создания файла [дубликат]

124
31 января 2022, 20:30
На этот вопрос уже дан ответ здесь:
Упорядочить файлы по дате создания (1 ответ)
Закрыт 2 года назад.
<?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-файла?

Answer 1

Первое надо добавить в массив дату создания файла

 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');
Answer 2

Я бы предложил следующее:

$files = glob("$dir/*.mp3"); 
usort($files, function($a, $b) {
    return filectime($a) <=> filectime($b);
});

А вашу сортировку следовало бы удалить.

READ ALSO
Почему не переходит по ссылке?

Почему не переходит по ссылке?

Я в Open ServerВ папке domains два моих сайта: maket и families

102
Как в Laravel получить пароль из таблицы

Как в Laravel получить пароль из таблицы

При стандартной регистрации в Laravel пороли хранятся в хеш видеКак мне как админу получать пароль

156
Как через VK API получить id группы по URL?

Как через VK API получить id группы по URL?

Как через VK API получить идентификатор группы по её URL?

101
Не работает регулярное выражение из переменной

Не работает регулярное выражение из переменной

Что самое интересное, если мы видеоизменим регулярное выражение, вместо переменной подставив прямой текст, то все отлично работаетЧто за магия?

81