php Dosya boyutu hesaplama

php  ile bir klasör içindeki dosyaların boyutunu nasıl hesaplarız, ben burada bi resim klasorundeki resimleri hesapladım siz kendinize göre değiştirebilisiniz ….

Demo için tıklayın  indirmek için tıklayınız [dm]108[/dm]





$uzanti='jpg';

//uzantıyı bul
function ext($filename)  {
return strtolower(substr(strrchr($filename, '.'), 1));//nokta silinsede olurdu ama ekledim
}

function convertBytes($value)
{
if (is_numeric($value)) {
return $value;
}
else
{
$value_length = strlen($value);
$qty = substr($value, 0, $value_length - 1);
$unit = strtolower(substr($value, $value_length - 1));
switch ($unit)
{
case 'k':
$qty = 1024;
break;
case 'm':
$qty
= 1048576;
break;
case 'g':
$qty = 1073741824;
break;
}
return $qty;
}
}

function roundSize($filesize, $phpConfig = false)
{

if ($filesize $filesize = sprintf("%u", $filesize);
}
if ($filesize >= 1073741824) {
$filesize = round($filesize / 1073741824
100) / 100 . ($phpConfig ? "G" : " G" . $size_unit);
}
elseif ($filesize >= 1048576) {
$filesize = round($filesize / 1048576 100) / 100 . ($phpConfig ? "M" : " M" . $size_unit);
}
elseif ($filesize >= 1024) {
$filesize = round($filesize / 1024
100) / 100 . ($phpConfig ? "K" : " K" . $size_unit);
}
else {
$filesize = $filesize . " " . $sizeunit;
}
if ($filesize == 0) {
$filesize = "-";
}
return $filesize;
}

function percent($a,$b){
$sonuc=$a/$b;
return $sonuc=round($sonuc*100);
}

function folder
($dizin,$uzanti){
if ($handle = opendir("$dizin") or die ("Dizin acilamadi!")) {

while (false !== ($file = readdir($handle))) {
$filetype = ext($file);
if(is_file($dizin."/".$file) && $filetype == "$uzanti")
{
$deger=convertBytes(filesize( $dizin.'/'.$file)) ;
$boyutlar[] =$deger;
}  } //while end
$e=array_sum($boyutlar);

$e=roundSize($e);
$dilim = explode(" ", $e);//eğer k cinsi yani kilo byat değeri gelirse onun için
$bak=$dilim[1];

if ($bak=='K'){$e='0 M';}

$e= substr($e, 0, -2);
return $e2=floor( numberformat($e))+1;
closedir($handle);
}
}

$a1=folder
('../../resimler/sayfaresimleri',$uzanti);
$a2=folder
("../../resimler/sayfaresimleri/thumb",$uzanti);
$a3=folder
("../../resimler/sayfaresimleri/mini",$uzanti);

$a4=folder
("../../resimler/firmaresimleri/thumb",$uzanti);
$a5=folder
("../../resimler/firma_resimleri",$uzanti);
$e2=$a1+$a2+$a3+$a4+$a5;

$total=250;//web sitemizin genel boyutu
$sisitemin_kullandigi=20;//siistem klasorleri php ve images vss ne kadar kullnıyor
$total=$total-$sisitemin_kullandigi;
$remaining=$total - $e2;
$pluspercent1=percent($remaining,$total);//toplam yüzde boş alan
//echo '
';
$pluspercent=100-percent($remaining,$total);//yüzde dolu alan
$total1=$total.'/'. $remaining;

//burada json olarak çıktı verdim
echo '{"post":[ {
"total_host":"'.$total1.'",

"pluspercent":"'.$pluspercent.'%'.'",
"result":"ok" }]}';
?>