[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
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.
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:
- [PHP] Poids total d'un dossier
- Dossier appdata - Guide
- Réduire le poids d'un pdf - Guide
- Mettre un mot de passe sur un dossier - Guide
- Impossible de supprimer un dossier - Guide
- Total uninstall - Télécharger - Divers Utilitaires
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 )
?>
<?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 )
?>
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");
?>
<?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");
?>
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
17 mai 2008 à 19:03
Cool merci ! Y'aurait t'il une possibilité d'avoir le résultat en Méga Octets ?
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
17 mai 2008 à 19:16
Excellent, merci beaucoup pour ton aide !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 ...
Utilisateur anonyme
17 mai 2008 à 18:06
17 mai 2008 à 18:06
clic droit et tu vas sur proprietes du fichier
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
17 mai 2008 à 18:09
Nan nan, je veux afficher ça sur un un site web en php.
Pas sur mon ordinateur. =)
Pas sur mon ordinateur. =)
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;