-2

このバイトを画像ホストのギガバイトにしようとしています。助けてください。英語が下手で申し訳ありません。

function foldersize($dir){
 $count_size = 0;
 $count = 0;
 $dir_array = scandir($dir);
 foreach($dir_array as $key=>$filename){
  if($filename!=".." && $filename!="."){
   if(is_dir($dir."/".$filename)){
    $new_foldersize = foldersize($dir."/".$filename);
    $count_size = $count_size + $new_foldersize[0];
    $count = $count + $new_foldersize[1];
   }else if(is_file($dir."/".$filename)){
    $count_size = $count_size + filesize($dir."/".$filename);
    $count++;
   }
  }

 }

 return array($count_size,$count);
}

$sample = foldersize("images");

echo "" . $sample[1] . " images hosted " ;
echo "" . $sample[0] . " total space used </br>" ;
4

4 に答える 4

5
echo "" . $sample[0]/(1024*1024*1024) . " total space used </br>" ;
于 2013-05-16T01:06:09.920 に答える
0

これにより、最適なユニットが自動的に決定されます。必要に応じて、常に GB を使用するように強制する方法を紹介できます。

これをコードに追加します。

$units = explode(' ', 'B KB MB GB TB PB');

function format_size($size) {
    global $units;

    $mod = 1024;

    for ($i = 0; $size > $mod; $i++) {
        $size /= $mod;
    }

    $endIndex = strpos($size, ".")+3;

    return substr( $size, 0, $endIndex).' '.$units[$i];
}

試して:

echo "" . $sample[1] . " images hosted " ;
echo "" . format_size($sample[0]) . " total space used </br>" 

ソース: https://stackoverflow.com/a/8348396/1136832

于 2013-05-16T01:12:34.977 に答える