现在我正在使用ls -lt /my/directory
(见下文)然后 php 解析输出。但不一致,因为分隔符是空格,并且两个字段之间可能有两个或多个空格。
解决方案仅输出文件名和它的大小。如何在命令行中列出文件(使用通配符)及其完整大小?
所以而不是
-rw------- 1 db2inst1 db2iadm1 855658496 Apr 22 02:31 MONTE.0.db2inst1.NODE0000.CATN0000.20120422023005.001
我明白了
855658496 MONTE.0.db2inst1.NODE0000.CATN0000.20120422023005.001
答案1
正如其他人所指出的,如果这是一个动态 Web 应用程序,那么使用 PHP 的函数来访问文件大小会更好。
但如果您要通过执行 shell 命令来获取它,请不要使用ls
.相反,使用stat
,并准确地告诉它你想要什么:
$ stat -c '%n %s' x.txt
x.txt 12