Я хочу получить изображение из нескольких подпапок в каталоге, и я хочу отсортировать их как данные. С помощью следующего кода я получил изображения, теперь я хочу отсортировать их как данные.
Заметка
каждое имя изображения начинается с даты и времени загрузки примера: —
имя изображения по умолчанию = «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++;
}
}
?>
Вместо того, чтобы отражать изображения непосредственно, соберите их в массив.
После этого вы можете легко отсортировать их usort ()
Также — вы не закрываете ручки после их открытия.
И, наверное RecursiveDirectoryIterator было бы лучше подходит для этого, чем вложенное время.
Других решений пока нет …