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 . " " . $size_unit;
}
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( number_format($e))+1;
closedir($handle);
}
}
$a1=folder_('../../resimler/sayfa_resimleri',$uzanti);
$a2=folder_("../../resimler/sayfa_resimleri/thumb",$uzanti);
$a3=folder_("../../resimler/sayfa_resimleri/mini",$uzanti);
$a4=folder_("../../resimler/firma_resimleri/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" }]}';
?>