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
Thèmes : php - script - webmaster
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.