我知道我的文件系统以毫秒为单位存储文件修改时间,但我不知道通过 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}'`;
而且,当然,这不会以毫秒为单位进行排序,因此在同一秒内创建的文件有时会以错误的顺序列出。