下記はディレクトリのファイルを列挙するものです
~/*/*と指定した最初の*には
1
2
3
~
200というディレクトリ名が存在します
しかし下記を動かすと
1→101→102~という並びで取得されてしまいます
1→2→3~と数字の小さい順の並びでforeach globを回すにはどうしたらいいのでしょうか?
追記
foreach(glob("~//", GLOB_NOSORT) as $file){
}
とした場合、順番通りにはなるようですが
200→199→188と逆順になってしまう
<?php $i=0; foreach(glob("~/*/*") as $file){ if(is_file($file)){ echo $file."<br>"; } } ?>
natsort() 使えば?
例えば20個しか取得する必要が無いケースだと
<?php
$i=0;
foreach(glob("~/*/*") as $file){
if(is_file($file)){
echo $file."<br>";
if($i==20){
break;
}
$i++;
}
}
?>
上記のような書き方になると思うのですが、
ご指摘の案だと200個全て取得しないとソートは不可能ということになります
.htaccessでファイルの並び順を数値順にできないかとも考えたのですが無理のようでした
何か知恵がありましたら教えて下さい
natsortでできたたようです、すみません
(・∀・)b

回答1件
あなたの回答
tips
プレビュー