usort()
andを使用しfilemtime()
てファイルを変更日で並べ替えていますが、ファイルがランダムに間違った順序で返されます。本当に単純なものが欠けていると思いますが、何がわかりません。
usort($user_files, function($a, $b) {
return filemtime($a) > filemtime($b);
});
foreach ($user_files as $f) {
echo $f . "<br />";
}
その後、ファイルをアップロードします。完全なコード。
ファイルをアップロードするとき1.txt
...10.txt
何が起こっているのかをテストするために、表示された結果は次のとおりです。
6.txt
5.txt
4.txt
3.txt
2.txt
1.txt
7.txt Uploaded!
予想通り。次に、私が到達したとき8.txt
:
6.txt
7.txt
5.txt
4.txt
2.txt
3.txt
1.txt
8.txt Uploaded!
別の時間は、私が到達するまでは問題ありませんでした10.txt
:
7.txt
8.txt
9.txt
6.txt
5.txt
2.txt
3.txt
4.txt
1.txt
10.txt Uploaded!
ls -t
帰国中:
10.txt 9.txt 8.txt 7.txt 6.txt 5.txt 4.txt 3.txt 2.txt 1.txt
それで…何が起こっているのですか?
Debian Wheezy 7.4, up-to-date.
PHP Version 5.4.4-14+deb7u8
Linux pc 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64
FPM/FastCGI
nginx/1.2.1