сортировка — я хочу отсортировать файлы по времени в 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.
*/

0

Решение

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

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

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

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]