function show_size_mask($d,$mask,$format=true) {
global $size, $num;
if($format)
{
$size=show_size_mask($d,$mask,false);
if($size<=1024) return $size.' bytes';
else if($size<=1024*1024) return round($size/(1024),2).' Kb';
else if($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb';
else if($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb';
else if($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:)))
else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-)
}else
{
foreach (glob($d."/".$mask) as $file) {
// echo $file." : ".filesize($file)."<br>";
$f=filesize($file);
$size+=$f;
$num++;
}
if(is_file($d)) return filesize($d);
$dh=opendir($d);
while(($file=readdir($dh))!==false)
{
if($file=='.' || $file=='..') continue;
else
show_size_mask($d.'/'.$file,$mask,false);
}
closedir($dh);
return $size;
}
}
//Пример использования
$size = 0;
$num = 0;
$mask = "*.jpg";
$count = show_size_mask($d,$mask,$format=true);
echo "Всего файлов ".strstr($mask,".")." : ".$num."<br>";
echo "Размер всех файлов : ".$count."<br><br>";