0 レビュー
1 回答
php-whileループで画像を並べ替える(mysqliなし)
ディレクトリ内のいくつかのサブフォルダから画像を取得し、それらをデータとして並べ替えたい。次のコードを使用して、画像を取得しました。データとして並べ替えたいと思います。
注
すべての画像名は、アップロード例の日時で始まります:-
デフォルトの画像名="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
レビュー
答え :
解決策:
画像を同じようにエコーするのではなく、画像を配列にまとめます。 その後、 usort()
で簡単に並べ替えることができますまた、ハンドルを開いた後にハンドルを閉じていません。
そして、おそらく RecursiveDirectoryIterator は、ネストされたwhileよりもこれに適しています。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。