Это приведет к тому, что все файлы в пути / к / файлам с расширением .swf будут помещены в массив, а затем отсортированы в этом массиве по mtime
файла.
$files = glob('path/to/files/*.swf');
usort($files, function($a, $b) {
return filemtime($a) < filemtime($b);
});
Выше используется лямбда-функция и требуется PHP 5.3. До 5.3 вы бы сделали
usort($files, create_function('$a,$b', 'return filemtime($a)<filemtime($b);'));
Если вы не хотите использовать анонимную функцию, вы также можете определить обратный вызов как обычную функцию и вместо этого передать имя функции в usort
.
Получив массив, вы затем перебираете файлы следующим образом:
foreach($files as $file){
printf('<tr><td><input type="checkbox" name="box[]"></td>
<td><a href="%1$s" target="_blank">%1$s</a></td>
<td>%2$s</td></tr>',
$file, // or basename($file) for just the filename w\out path
date('F d Y, H:i:s', filemtime($file)));
}
Обратите внимание: поскольку вы уже вызывали filemtime
при сортировке файлов, при повторном вызове в цикле foreach дополнительных затрат не возникает из-за stat cache .