1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| <?php
/**
@function calc_size
@param text dir rép dont on veut connaitre la taille
@return numeric
formate la taille retourné par la fonction calc_size_Rdir
*/
function calc_size($dir)
{
$size = calc_size_Rdir($dir);
$filesizename = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
return round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $filesizename[$i];
}
/**
@function calc_size_Rdir
@param text dir_start dossier dont on va calculer la taille
@return numeric
calcul de la taille d'un dossier en ajouter celle de ses fichiers
*/
function calc_size_Rdir($dir_start)
{
$size = 0;
$open = opendir($dir_start);
while($file = readdir($open))
{
if($file != '.' && $file != '..')
{
if(is_dir($dir_start .'/'.$file))
{
$new_dir = $dir_start .'/'.$file;
$size = $size + calc_size_Rdir($new_dir);
}
else
{
$size = $size + filesize($dir_start .'/'.$file);
}
}
}
return $size;
}
?> |
Partager