当前位置:Gxlcms > PHP教程 > 文件计数问题

文件计数问题

时间:2021-07-01 10:21:17 帮助过:18人阅读

已知指定路径,该路径下的文件夹是记录OK的数量。但是每个文件夹的容量限制是100个文件,文件夹的命名规则是0000,0001,0002,0003,以此类推。请问如果要统计该路径下总的OK的文件数,应该怎么求?


回复讨论(解决方案)

遍历文件夹(scandir),获取文件夹下文件的数量

$a = glob('指定路径/{0,1,2,3,4,5,6,7,8,9}*/*.*', GLOB_BRACE);echo count($a); 

$a = glob('指定路径/{0,1,2,3,4,5,6,7,8,9}*/*.*', GLOB_BRACE);echo count($a); 



结果不对啊:

TS404>>>MEC91-172B1>>>2825 0 --- 0
TS404>>>MEC91-172B1>>>2827 0 --- 0
TS404>>>MEC91-172B1>>>2828 0 --- 0
TS404>>>MEC91-172B1>>>2901 0 --- 0
TS404>>>MEC91-172B1>>>2903 0 --- 0
TS404>>>MEC91-172B1>>>2904 0 --- 0
TS404>>>MEC91-172B1>>>2906 0 --- 0
TS404>>>MEC91-172B1>>>2907 0 --- 0
TS404>>>MEC91-172B1>>>2909 0 --- 0
TS404>>>MEC91-172B1>>>2910 0 --- 1
TS404>>>MEC91-172B1>>>2914 0 --- 0
TS404>>>MEC91-172B1>>>2915 0 --- 2
TS404>>>MEC91-172B1>>>2917 0 --- 0
TS404>>>MEC91-172B1>>>2921 0 --- 0
TS404>>>MEC91-172B1>>>2X19 0 --- 0
TS404>>>MEC91-172B1>>>2X23 0 --- 0
TS404>>>MEC91-172B1>>>2X26 0 --- 0
TS404>>>MEC91-172B1>>>2X29 0 --- 0
TS404>>>MEC91-172B1>>>2X30 0 --- 0
TS404>>>MEC91-172B1>>>2Y02 0 --- 1

---前面的,全部是0。

$a = glob('指定路径/{0,1,2,3,4,5,6,7,8,9}*/*.*', GLOB_BRACE);echo count($a); 


文件结构:

假定你的程序文件与 dat 目录平级,则有

$path = 'dat/*/*/3X*/{0,1,2,3,4,5,6,7,8,9}*/*.*';$a = glob($path, GLOB_BRACE);echo count($a);

你可打印出结果数组 $a 看一下


假定你的程序文件与 dat 目录平级,则有

$path = 'dat/*/*/3X*/{0,1,2,3,4,5,6,7,8,9}*/*.*';$a = glob($path, GLOB_BRACE);echo count($a);

你可打印出结果数组 $a 看一下


如果通过ftp访问呢?

假定你的程序文件与 dat 目录平级,则有

$path = 'dat/*/*/3X*/{0,1,2,3,4,5,6,7,8,9}*/*.*';$a = glob($path, GLOB_BRACE);echo count($a);

你可打印出结果数组 $a 看一下



本地访问的确可以,如果像 \\192.168\e\dat 这种形式呢?怎么去访问?换成ftp访问可不可以?

一定要用php吗?
如果使用linunx命令,很简单。

find 文件夹 -type f |wc -l


假定你的程序文件与 dat 目录平级,则有

$path = 'dat/*/*/3X*/{0,1,2,3,4,5,6,7,8,9}*/*.*';$a = glob($path, GLOB_BRACE);echo count($a);

你可打印出结果数组 $a 看一下



本地访问的确可以,如果像 \\192.168\e\dat 这种形式呢?怎么去访问?换成ftp访问可不可以?



你需要先连ftp,然后再执行glob

人气教程排行