我想从目录中的几个子文件夹中获取图片,我想将它们作为数据排序。使用以下代码,我现在得到了图像,我想将它们作为数据排序。
注意
每个图片名称都以上传示例的日期和时间开头: -
默认图片名称=" image.jpg "
上传图片名称=" 24-02-2016-09-42-33-image.jpg "
<?php
$dir = 'dist/userdata/'.$username.'/photos/';
if ($opendir = opendir ($dir) ) {
$files = 0;
while (($file = readdir ($opendir)) !== false && $files <= 2 + 1 ) {
if ($file !="." && $file !="..") {
$newdir = $dir.''.$file.'/';
if ($newopendir = opendir ($newdir)) {
$imgs = 0;
while (($img = readdir ($newopendir)) !== false && $imgs <= 3 + 1) {
if ($img !=="." && $img !=="..") {
$supported_files = array(
'jpeg',
'jpg',
'png'
);
$ext = strtolower(pathinfo($img, PATHINFO_EXTENSION));
if (in_array($ext, $supported_files)) {
echo '<img src="'.$newdir.''.$img.'"/>';
} else {
}
}
$imgs++;
}
}
}
$files++;
}
}
?>
答案 0 :(得分:1)
而不是imidiatelly回显图像,将它们收集到数组中。 之后,您可以使用usort()
轻松对其进行排序另外 - 打开后你没有关闭手柄。
并且,可能RecursiveDirectoryIterator比嵌套时更适合这种情况。