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

_FUNCTION_()

function dirSize($path){

   $sum=0;

global $sum;

   $handle=opendir($path);

while( ($item = readdir ( $handle )) !== false  ){

   //.和..这两种特殊文件名去除

   if($item!='.' && $item!='..'){

   if(is_file($path.'/'.$item)){

   $sum+=filesize($path.'/'.$item);

}

if(is_dir($path.'/'.$item)){

   $func=_FUNCTION_;

$func($path.'/'.$item);//递归,函数自己调用自己

}

}

}

closedir($handle);

return $sum;

}

$path='testfile';

echo dirSize($path);

如果testfile中只有文件,没有文件夹则输出正确;

如果testfile中还存在文件夹则提示:

Fatal error: Call to undefined function _FUNCTION_() in C:\wamp\www\file\dir.func.php on line 34

提问者:linxiaoyou 2017-07-10 15:51

个回答

  • 花落心微凉
    2017-07-17 17:35:13

    语法错误,是__FUNCTION__,左右都是两个下划线。没有文件夹的时候,程序走不到if(is_dir)里边,所以你没报错