JBZoo\Utils\FS::dirSize PHP Method

dirSize() public static method

Returns size of a given directory in bytes.
public static dirSize ( string $dir ) : integer
$dir string
return integer
    public static function dirSize($dir)
    {
        $size = 0;
        $flags = \FilesystemIterator::CURRENT_AS_FILEINFO | \FilesystemIterator::SKIP_DOTS;
        $dirIter = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($dir, $flags));
        foreach ($dirIter as $key) {
            if ($key->isFile()) {
                $size += $key->getSize();
            }
        }
        return $size;
    }

Usage Example

Example #1
0
 public function testDirSize()
 {
     $dir = dirname(__FILE__) . '/dir1';
     @mkdir($dir);
     file_put_contents($dir . '/file1', '1234567890');
     file_put_contents($dir . '/file2', range('a', 'z'));
     is(10 + 26, FS::dirSize($dir));
     FS::rmdir($dir);
 }