Comment calculer la taille d'un dossier en PHP ?
Réponses rédigées par Antoine
Dernière mise à jour : 2018-08-27 17:04:42
Question
Comment faire pour calculer la taille d'un dossier en PHP ?
Réponse
Pour calculer la taille d'un dossier et de ses sous dossiers, en bytes, avec PHP, vous pouvez utiliser les classes RecursiveDirectory
et FilesystemIterator
.
function repertoire_size($rep)
{
$taille = 0;
foreach(new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($rep, \FilesystemIterator::CURRENT_AS_FILEINFO | \FilesystemIterator::SKIP_DOTS)) as $fichier => $clef) {
if ($clef->isFile()) {
$taille += $clef->getSize();
}
}
return $taille;
}
echo repertoire_size("test");
La fonction ci-dessous parcourt le dossier racine à la recherche de sous dossiers et teste la présence de fichiers ; pour chaque fichier trouvé, elle calcule sa taille en bytes avec la fonction getSize()
, puis l'ajoute à la variable $taille
.