Я знаю, что моя файловая система хранит время модификации файла в миллисекундах, но я не знаю способа доступа к этой информации через 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]