欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

文件计数问题

程序员文章站 2022-05-19 15:32:50
...
已知指定路径,该路径下的文件夹是记录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
相关标签: 文件计数问题