私はディレクトリをループしてglob()を使ってすべてのファイルを取得しています。結果の配列の要素を作成日時順に並べ替える方法はありますか?現在、私はfilemtime()を使用していますが、編集されていないものと想定しています。PHP(または類似のもの)を介したファイル作成時間
乾杯!
私はディレクトリをループしてglob()を使ってすべてのファイルを取得しています。結果の配列の要素を作成日時順に並べ替える方法はありますか?現在、私はfilemtime()を使用していますが、編集されていないものと想定しています。PHP(または類似のもの)を介したファイル作成時間
乾杯!
次の操作を試みることができる:
$array = glob("*.txt");
usort($array, function($a, $b) {
$aTime = filectime($a);
$bTime = filectime($b);
if ($aTime < $bTime) {
return -1;
} elseif ($aTime > $bTime) {
return 1;
} else {
return 0;
}
});
配列のユーザー定義のソートを可能にするために無名関数を渡します。今回の関数は、globで返されたファイルの作成時間(windows)/ inode変更時間(linux)に応じてチェックとソートを行います。
これが役に立ちます。
ise
乾杯!それは完璧に機能し、ちょうど$ aと$ bを逆転させなければなりませんでした。再度、感謝します! – chintanparikh
http://www.php.net/manual/en/function.filectime.php
あなたが必要なものに少し近いかもしれませ。編集時にはまだ更新されますが、メタデータのみの内容は更新されません。
興味深いことに、filemtimeとfilectimeの違いを精緻化していますか?私は本当に理解していない。 – chintanparikh
多くのファイルシステムでは、ファイルの作成日に関する情報は保持されません。これらの上で、あなたはフィリメを使ってみることができます。
これはOSによって異なりますが、UNIXベースのシステムでは、作成時間は変更できません。 – matei