Получить большой список файлов, отсортированных по времени файла в * миллисекундах *

Я знаю, что моя файловая система хранит время модификации файла в миллисекундах, но я не знаю способа доступа к этой информации через PHP. Когда я делаю ls --full-time, я вижу это:

-rw-r--r-- 1 nobody nobody 900 2012-06-29 14:08:37.047666435 -0700 file1
-rw-r--r-- 1 nobody nobody 900 2012-06-29 14:08:37.163667038 -0700 file2

Я предполагаю, что числа после точки - это миллисекунды.

Итак, я понимаю, что могу просто использовать ls и сортировать его по времени модификации, например:

$filelist = `ls -t`;

Однако в каталоге иногда содержится огромное количество файлов, и я ' мы заметили, что ls может быть довольно медленным в таких обстоятельствах.

Итак, вместо этого я использовал find, но у него нет переключателя для сортировки результатов по времени модификации. Вот пример того, что я делаю сейчас:

$filelist = `find $dir -type f -printf "%T@ %p\n" | sort -n | awk '{print $2}'`;

И, конечно, это не сводится к миллисекундам, поэтому файлы, созданные в одну секунду, иногда отображаются в неправильном порядке . [+1112]

10
задан Jeremy 29 June 2012 в 23:38
поделиться