PHP如何统计并展示每个列出目录下的子文件夹数量
问题原因
你当前代码里的$title被硬编码为固定值central/weeee/,每次循环遍历file.txt的行时,都在统计同一个目录的子文件夹数量,所以所有统计结果都和weeee文件夹的数值一致。
修改方案
直接把$title的赋值替换为和当前行$line匹配的目录路径即可,同时建议增加空白行过滤、空路径处理逻辑避免统计出错:
<?php $data = file_get_contents('parentfolder/' . $_SESSION['name'] . '/file.txt'); $array = explode("\n", $data); foreach ($array as $line) { // 先处理行内容,去除换行、前后空格,过滤空行 $line = trim($line); if (empty($line)) continue; // 替换为当前行对应的目录路径 $title = "central/$line/"; // 增加目录存在判断,避免路径无效时统计错误 $num = is_dir($title) ? count(glob("$title*", GLOB_ONLYDIR)) : 0; echo "<li><a href='central/$line/home.php' target='_blank' style='padding: 10px; color: black; font-size: 20px; '>$line</a></li>"; echo $num . " " . 'item(s)|'; echo $title; //checking if it's the right directory } ?>
补充说明
如果你的子文件夹不是存放在central/$line/路径下,只需要调整$title的拼接规则匹配你的实际目录结构即可。
内容的提问来源于stack exchange,提问作者Bob D. Builder
相关产品推荐
相关产品推荐

