已知指定路径,该路径下的文件夹是记录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