问答详情
源自:2-1 查看文件夹并递归获取大小

dirSize

每次调用 dirSize时  计算的是当前文件夹的大小么  而且$sum也置零了,为什么下面第二个文件夹 还是会把第一个文件夹的大小也加上去啊  老师说是foreach的原因,一带而过,想了很久没明白啊

提问者:JASON0000 2015-05-27 21:40

个回答

  • 黑历史不删除后果很严重
    2016-03-31 15:51:12

    因为出这个bug的时候,他设置了$sum为 global 变量,方便使用递归函数实现$sum的累加。整个函数调用都没有清零。

    不建议这样使用,可以在递归调用时采用:$sum+=func($path.'/'.$item);来实现。在函数刚开始时对$sum清零