我知道我的文件系统存储文件修改时间(以毫秒为单位),但我不知道通过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
Run Code Online (Sandbox Code Playgroud)
我假设点后的数字是毫秒.
所以我意识到我可以使用ls并按修改时间排序,如下所示:
$filelist = `ls -t`;
Run Code Online (Sandbox Code Playgroud)
但是,目录有时会有大量的文件,我注意到ls在这种情况下可能会很慢.
所以相反,我一直在使用,find但它没有用于按修改时间对结果进行排序的开关.这是我现在正在做的一个例子:
$filelist = `find $dir -type f -printf "%T@ %p\n" | sort -n | awk '{print $2}'`;
Run Code Online (Sandbox Code Playgroud)
当然,这并没有降低到毫秒级,因此在同一秒内创建的文件有时会以错误的顺序列出.