我是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的帮助下以相反的顺序显示它们,使最新版本始终显示在页面顶部。
非常感谢任何帮助或建议,阿根廷的问候!
答案 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排序”;