Сортировать галерею изображений PHP с новейшим первым

Я использую код php для отображения списка продуктов из одной папки продукта для веб-сайта http://zemro.in/products.php

Каждый раз, когда добавляется новая картинка, она должна показывать первую

Ниже приведен код, который я использую на странице.

<div id="galleryListWrapper">
<?php if (!empty($galleryArray) && $galleryArray['stats']['total_images'] > 0): ?>
<ul id="galleryList" class="clearfix">
<?php foreach ($galleryArray['images'] as $image): ?>
<li><a href="<?php echo html_entity_decode($image['file_path']); ?>" title="<?php echo $image['file_title']; ?>" rel="colorbox"><img src="<?php echo $image['thumb_path']; ?>" alt="<?php echo $image['file_title']; ?>"/></a></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</div>

1

Решение

При получении файлов из каталога добавьте ключ для даты создания файла в массив файла. Для сортировки, вероятно, достаточно просто использовать filemtime ($ filepath).

...
$image[ 'timestamp' ] = filemtime( $image[ 'file_path' ] );
...

Чтобы затем отсортировать массив по отметке времени, взгляните на Сортировать многомерный массив по значению

Для ваших целей это будет выглядеть примерно так:

function sortByTimestamp( $a, $b ) {
if ($a[ 'timestamp' ] == $b[ 'timestamp' ]) {
return 0;
}
return ($a[ 'timestamp' ] > $b[ 'timestamp' ]) ? -1 : 1;
}

usort( $galleryArray[ 'images' ], 'sortByTimestamp' );
1

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

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

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