Как отсортировать каталог по времени и отобразить последние четыре файла изображений, соответствующие шаблону с php? - PullRequest
0 голосов
/ 26 марта 2010

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

Возможно ли это без необходимости выполнять сортировку для каждого отдельного изображения в каталоге?

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 26 марта 2010

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

$pattern = '*.jpg';
exec( "ls $pattern -1t | head -4", $files );
foreach( $files as $thisFile ) {
    echo "<img src='", $serverPathToFiles, $thisFile, "' alt='blah' />\n";
}

Если вам нужно использовать регулярное выражение, измените первые две строки на

$pattern = 'web2\.[4-5]'; // for web2.42 etc.
exec( "ls -1t | grep -e $pattern | head -4", $files );
0 голосов
/ 26 марта 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...