[PHP] Poids total d'un dossier

Résolu/Fermé
Randal Messages postés 88 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 12 décembre 2011 - 17 mai 2008 à 18:04
 dijxdream - 27 juil. 2011 à 23:51
Bonjour,
j'aimerais savoir comment faire pour voir le poids total d'un dossier en Mo.
J'aimerais ainsi faire quelque chose de ce genre: Il y a 23.19 Mo utilisé.
Si ça pourrait afficher aussi plus prècis comme j'ai mis ce dessus, ce serait
encore mieux. Merci d'avance pour votre future réponse. Bonne soirée.
A voir également:

8 réponses

ça te convient ?

<?php
function foldersize($path) {
$total_size = 0;
$files = scandir($path);

foreach($files as $t) {
if (is_dir($t)) {
if ($t<>"." && $t<>"..") {
$size = foldersize($path . "/" . $t);

$total_size += $size;
}
}
else {
$size = filesize($path . "/" . $t);

$total_size += $size;
}
}
return $total_size;
}
function format_size($size , $round) {
//Size must be bytes!
$sizes = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
for ($i=0; $size > 1024 && $i < count($sizes) - 1; $i++) $size /= 1024;
return round($size,$round).$sizes[$i];
}
$total_size = foldersize("Mondossier");
echo format_size ($total_size, 2 )

?>
3
Voila bon courage,

<?php
function foldersize($path) {
$total_size = 0;
$files = scandir($path);

foreach($files as $t) {
if (is_dir($t)) {
if ($t<>"." && $t<>"..") {
$size = foldersize($path . "/" . $t);

$total_size += $size;
}
}
else {
$size = filesize($path . "/" . $t);

$total_size += $size;
}
}
return $total_size;
}
echo foldersize("mondossier");
?>
0
Randal Messages postés 88 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 12 décembre 2011 11
17 mai 2008 à 19:03
Cool merci ! Y'aurait t'il une possibilité d'avoir le résultat en Méga Octets ?
0
Randal Messages postés 88 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 12 décembre 2011 11
17 mai 2008 à 19:16
Excellent, merci beaucoup pour ton aide !
0
Pas de quoi, c'est ma première participation ravi d'avoir pu t'aider .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
17 mai 2008 à 19:20
chapeau,Deepblue
0
Attention s'il y a d'autre repetroire en sous-arborescence il ne les calcule pas ;-) ... ce n'est donc pas full friendly comme technique ...
0
Utilisateur anonyme
17 mai 2008 à 18:06
clic droit et tu vas sur proprietes du fichier
-2
Randal Messages postés 88 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 12 décembre 2011 11
17 mai 2008 à 18:09
Nan nan, je veux afficher ça sur un un site web en php.
Pas sur mon ordinateur. =)
0
Pour le formatage de la taille

class Sizer { 
     
    public static function size($file) { 
     return $this->format(filesize($file)); 
    } 

    public static function format($size) { 
     list($sized, $num) = $this->sizeRec($size); 
     $e = array('o', 'Ko', 'Mo', 'Go', 'To', 'XXL'); 
     $sized = round($sized, 3); 
     return array($size, $sized.$e[$num], $num); 
    } 
     
    private static function sizeRec($size, $num = 0) { 
     if ($size > 1024) 
      return $this->sizeRec($size / 1024, ++$num); 
     return array($size, $num); 
    } 

} 
list($size, $format, $exp) = Sizer::size('/path/vers/mon/fichier'); 
echo $format;
-2