/** * Подсчитывает размер всех файлов в папке. * @param $Folder Имя папки. * @return int */ function GetFolderSize($Folder) { $file_size = 0; AddLastSlash($Folder); $files = scandir($Folder); foreach ($files as $file) { if ($file != '.' && $file != '..') { $f = $Folder . $file; if (is_dir($f)) { $file_size += GetFolderSize($f); } else { $file_size += filesize($f); } } } return $file_size; }
function GetDirectorySize($dirname) { // open the directory, if the script cannot open the directory then return folderSize = 0 $dir_handle = opendir($dirname); if (!$dir_handle) return 0; // traversal for every entry in the directory while ($file = readdir($dir_handle)){ // ignore '.' and '..' directory if ($file != "." && $file != "..") { // if entry is directory then go recursive ! if (is_dir($dirname."/".$file)){ $folderSize += GetFolderSize($dirname.'/'.$file); // if file then accumulate the size } else { $folderSize += filesize($dirname."/".$file); } } } // chose the directory closedir($dir_handle); // return $dirname folder size return $folderSize ; }
function getFolderSize($d = ".") { // © kasskooye and patricia benedetto $h = @opendir($d); if ($h == 0) { return 0; } while ($f = readdir($h)) { if ($f != "..") { $sf += filesize($nd = $d . "/" . $f); if ($f != "." && is_dir($nd)) { $sf += GetFolderSize($nd); } } } closedir($h); return $sf; }
function GetFolderSize($dir) { if (!$dir or !is_dir($dir)) { return 0; } $ret = 0; $sub = opendir($dir); while ($file = readdir($sub)) { if (is_dir($dir . '/' . $file) && $file !== ".." && $file !== ".") { $ret += GetFolderSize($dir . '/' . $file); unset($file); } elseif (!is_dir($dir . '/' . $file)) { $stats = stat($dir . '/' . $file); $ret += $stats['size']; unset($file); } } closedir($sub); unset($sub); return $ret; }