You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在foreach循环外统计指定路径下所有TXT文件字符总数

汇总指定路径下文本文件的总字符数

没问题,要实现所有文本文件字符数的汇总统计,只需要做几个简单的修改就行。我帮你调整了代码,既能保留单个文件的字符数输出,还会在循环结束后输出总数量:

<?php
// 初始化总字符数变量,初始值为0
$totalChars = 0;
// 获取指定路径下的所有txt文件
$files = glob('my/files/path/*.txt', GLOB_BRACE);

foreach($files as $file) {
    // 读取文件内容,这里把你写错的dir改成了die(应该是笔误吧😉)
    $str = file_get_contents($file) or die("无法读取文件: {$file}");
    // 计算当前文件的字符数(包含空格)
    $numCharSpace = strlen($str);
    // 输出单个文件的统计结果
    echo "文件 {$file} 的字符数: {$numCharSpace}<br>";
    // 累加当前文件的字符数到总计数里
    $totalChars += $numCharSpace;
}

// 循环结束后,输出汇总结果
echo "<hr>";
echo "所有文本文件的总字符数: {$totalChars}";
?>

关键改动说明:

  • 初始化总计数变量:在循环外部新增$totalChars = 0;,用来累加所有文件的字符数。
  • 循环内累加计数:每次处理完单个文件后,执行$totalChars += $numCharSpace;,把当前文件的字符数加到总计数中。
  • 修正错误处理:将原代码中的dir改为die(应该是笔误),同时补充了文件名,方便定位读取失败的文件。
  • 输出汇总结果:在循环结束后添加总字符数的输出,用<hr>分隔单个结果和汇总结果,提升可读性。

这样运行后,就会先逐个显示每个文件的字符数,最后输出所有文件的总字符数啦~

内容的提问来源于stack exchange,提问作者Reham Fahmy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:30:07