提问人:provance 提问时间:1/28/2023 更新时间:1/28/2023 访问量:33
获取完整的文件夹树并计算其中的TXT文件
get full folders tree and count txt files inside
问:
主文件夹是 - 带有子文件夹和文件 - 在各个级别
上,我需要整个文件夹树的列表 - 并计算每个
文件夹中的文件 此代码给出了文件夹,但计数始终是 - 我想,不仅是文件夹名称 - 是必需的,但看不到 -
如何获取它们。home
txt
txt
0
paths to folders
function rscan ($dir) {
$all = array_diff(scandir($dir), [".", ".."]);
foreach ($all as $ff) {
if(is_dir($dir . $ff)){
echo $ff . "\n"; // it works
$arr = glob($ff . "/*.txt");
echo count($arr) . "\n"; // always 0
rscan("$dir$ff/");
}
}
}
rscan("home/");
答:
0赞
Abbas Ghassemi
1/28/2023
#1
6号线
$arr = glob($ff . "/*.txt");
更改为以下代码:
$arr = glob($dir.$ff . "/*.txt");
0赞
arkascha
1/28/2023
#2
替代实现:
<?php
function glob_recursive($pattern, $flags = 0): Int {
$files = glob($pattern, $flags);
$count = count($files);
foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR|GLOB_NOSORT) as $dir) {
$count += glob_recursive($dir.'/'.basename($pattern), $flags);
}
return $count;
}
var_dump(glob_recursive('home/*.txt'));
输出如下所示:
整数(10)
评论