我是 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 以相反的顺序显示它们,从而使最新的始终出现在页面顶部。
非常感谢任何帮助或建议,来自阿根廷的问候!
最佳答案
在您的 $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 . '" />';
}
关于php - 如何首先显示最新上传的图像? (PHP+CSS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6557980/