使用最新的First排序PHP图库

时间:2015-01-01 16:34:04

标签: php image sorting gallery

我正在使用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 个答案:

答案 0 :(得分:1)

从目录中获取文件时,在文件的数组中添加文件创建日期的密钥。出于排序目的,它可能只需使用filemtime($ filepath)。

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

然后按时间戳对数组进行排序,看一下Sort Multi-dimensional Array by Value

出于您的目的,它看起来像这样:

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

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