Php 如何排序我的图像-最新的在顶部
我在YT上找到了一个php代码来显示目录中的图像。 一切都很完美,但我需要在顶部显示最新的照片。 有人能帮我吗Php 如何排序我的图像-最新的在顶部,php,image,Php,Image,我在YT上找到了一个php代码来显示目录中的图像。 一切都很完美,但我需要在顶部显示最新的照片。 有人能帮我吗 <?php $dir = 'foto'; $file_display = array('jpg', 'jpeg'); if (file_exists($dir) == false) { echo 'Gallery \'', $dir, '\' not found!'; } else { $dir_contents
<?php
$dir = 'foto';
$file_display = array('jpg', 'jpeg');
if (file_exists($dir) == false) {
echo 'Gallery \'', $dir, '\' not found!';
} else {
$dir_contents = scandir($dir);
foreach ($dir_contents as $file) {
$file_type = strtolower (end(explode('.', $file)));
if ($file !== '.' && $file !== '..' && in_array($file_type, $file_display) == true) {
echo '<div id="', $file, '"><img src="', $dir, '/', $file, '" alt="', $file, '" /></div>';
}
}
}
?>
我认为您需要按日期对图像进行排序。有人在这里编写了另一个
scandir()
函数的变体:
您可以获得该函数并更改$dir\u contents=scandir($dir)代码>收件人:$dir\u contents=scan\u dir($dir)代码>在您的代码中。更少的代码:
array_multisort((
array_map(
'filemtime', ($files = glob(
"$dir/*.{jpg,jpeg}", GLOB_BRACE)))), SORT_DESC, $files);
- 特定文件的Glob并存储在
$files
- 获取每个文件的文件修改时间,并按时间排序
$files
foreach
打开$files
并显示。我认为您需要查看PHP filemtime函数,以便提取文件的修改日期-我认为仅使用scandir是不可能的。然后在这里查找有关排序数组的信息,并将这些数组拼凑在一起,您应该能够做到这一点