Siva G
Siva G

Reputation: 1174

Folder size with PHP?

Here i Have One Problem to finding out the size of an parent folder:

Here is my sample code:

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 $count_size;
}

Example

If I am having the Folder like the following structure:

 mm[30MB]->rr[40MB]->ee[300MB]->ss[309MB]

If i am using the above code to find the size of mm folder it is showing the size as zero

Anyone Suggest some ideas..........

Upvotes: 2

Views: 2756

Answers (1)

Siva G
Siva G

Reputation: 1174

Answer is:

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;
       }else if(is_file($dir."/".$filename)){
        $count_size = $count_size + filesize($dir."/".$filename);
        $count++;
       }
      }

     }

     return $count_size;
    }

Upvotes: 2

Related Questions