如何首先显示最新上传的图像? (PHP + CSS)

时间:2011-07-02 15:49:30

标签: php css gallery

我是PHP的新手,基本上我正在尝试显示一个从文件夹中检索照片的图库。问题是,我希望最新上传日期的图像出现在最开始,依此类推,直到底部最旧的图像。

这就是我的PHP看起来(我猜的重要部分)

$files = scandir('uploads/thumbs');
$ignore = array( 'cgi-bin', '.', '..');
foreach ($files as $file) {
    if(!in_array($file, $ignore)) {
        echo '<img src="uploads/thumbs/' . $file . '" />';
         }
}

我想知道PHP是否有办法,或者在CSS的帮助下以相反的顺序显示它们,使最新版本始终显示在页面顶部。

非常感谢任何帮助或建议,阿根廷的问候!

2 个答案:

答案 0 :(得分:1)

$files旁边,您可以获取每个文件的modification time,然后根据获取的时间值对$files数组进行排序。使用数组值对两个或多个数组进行排序的函数是array_multisort

$files = scandir($path);
$ignore = array( 'cgi-bin', '.', '..');

# removing ignored files
$files = array_filter($files, function($file) use ($ignore) {return !in_array($file, $ignore);});

# getting the modification time for each file
$times = array_map(function($file) use ($path) {return filemtime("$path/$file");}, $files);

# sort the times array while sorting the files array as well
array_multisort($times, SORT_DESC, SORT_NUMERIC, $files);

foreach ($files as $file) {
    echo '<img src="uploads/thumbs/' . $file . '" />';
}

答案 1 :(得分:0)

如果您将图像保存在数据库中,就可以这样做

$ sql1 =“选择*从图像通过img_id DESC排序”;