Я хочу отсортировать файлы по времени в php?

        <?php
        //basic directory
        $dir    = 'dir';
       //hardcoded hours and minutes for specific time 
        $hours = 11 ; 
        $minutes = 2 ;

        date_default_timezone_set('Asia/Kolkata');
        $today = date('F d, Y');

            if (is_dir($dir)) { if ($dh = opendir($dir)) {

                    while (($file = readdir($dh)) !== false) {                
                        clearstatcache();

                        if(is_file($dir."/".$file)) {  
//$filename will store the  last modified files which in folder                  
                                $filename = filemtime($dir."/".$file);
            //condition for some relevent time
                                if(date('F d, Y',$filename) == $today && date("H", $filename) >= $hours && date("i", $filename) >= $minutes)
                                {
    // here i want the sorting code. because it doesnt display the time wise file in output
                                echo $file;
                                echo " - ";                    
                                echo "Last modified: " . date("F d, Y H:i:s.", $filename);
                                echo "<br>";
                                }
                         }  
                        }            
                        echo "<br>";
                        closedir($dh);
                    }
                }

            ?>
        /*
        i have this output. but it is not perfect i want the last modified come first
        through sorting .

       test2.php - Last modified: May 26, 2016 11:30:10.
        test3.php - Last modified: May 26, 2016 11:32:07.
        test.txt - Last modified: May 26, 2016 13:13:11.
        */

1 ответ

У вас уже есть все детали (метка времени Unix и путь). Чтобы собрать кусочки вместе, вы можете создать массив, используя метку времени в качестве ключа и пути в качестве значений (помните, что вы можете иметь более одного файла на уникальную метку времени), а затем отсортировать с помощью ksort по своему вкусу:

bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

Сортирует массив по ключу, сохраняя ключ к корреляции данных. Это полезно в основном для ассоциативных массивов.

Это подразумевает небольшую, но позитивную редизайн: вы больше не можете отображать файлы при извлечении их из каталога, вам нужно хранить их для дальнейшей обработки и отображать их все позже.

Другие вопросы по тегам