Comprendre le calcul de la taille d'un dossier en PHP
Mesurer la taille d'un répertoire est une tâche courante lors de la gestion des systèmes de fichiers en PHP. Cependant, certaines approches peuvent conduire à une utilisation élevée du processeur. Cet article explore une solution plus optimisée et des alternatives pour calculer la taille du répertoire en PHP.
Le code original présenté dans la question utilise une fonction récursive, Foldersize, pour parcourir les fichiers et les dossiers, en accumulant leurs tailles. Bien que cette approche fonctionne, elle peut avoir un impact sur les performances en raison de la nature récursive de l'algorithme.
Pour optimiser ce processus, la fonction améliorée GetDirectorySize suggérée dans la réponse adopte une approche plus efficace :
function GetDirectorySize($path){ $bytestotal = 0; $path = realpath($path); if($path!==false && $path!='' && file_exists($path)){ foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS)) as $object){ $bytestotal += $object->getSize(); } } return $bytestotal; }
Cette fonction :
En utilisant cette approche optimisée, l'utilisation du processeur peut être considérablement réduite tout en conservant une taille de répertoire précise calcul.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!