小编Jer*_*emy的帖子

获取大型文件列表,按文件时间排序,单位为*毫秒*

我知道我的文件系统存储文件修改时间(以毫秒为单位),但我不知道通过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)

当然,这并没有降低到毫秒级,因此在同一秒内创建的文件有时会以错误的顺序列出.

php linux php-5.2

10
推荐指数
1
解决办法
1236
查看次数

标签 统计

linux ×1

php ×1

php-5.2 ×1