Comment puis-je calculer efficacement la taille d'un répertoire en PHP et améliorer les performances des scripts ?

Susan Sarandon
Libérer: 2024-11-19 14:14:02
original
252 Les gens l'ont consulté

How Can I Efficiently Calculate a Directory's Size in PHP and Improve Script Performance?

Comment calculer la taille d'un répertoire et optimiser les performances des scripts en PHP

Lorsque vous travaillez avec des répertoires en PHP, il est souvent nécessaire de déterminer leur taille. Un extrait de code a été fourni qui vise à calculer la taille d'un répertoire et son contenu. Cependant, il a été observé que l'utilisation du processeur augmente pendant l'exécution.

Optimisation du code

Pour optimiser le code fourni et réduire l'utilisation du processeur, une fonction alternative peut être utilisée qui exploite les fonctionnalités d'itération d'annuaire intégrées à PHP :

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;
}
Copier après la connexion

Optimisations Implémenté

Cette fonction alternative :

  • Convertit le chemin en un chemin réel pour gérer les liens symboliques ou les chemins tronqués.
  • Vérifie la validité du chemin et vérifie si le répertoire existe pour éviter les erreurs.
  • Ignore l'itération sur le spécial ., .., et Thumbs.db, économisant ainsi des ressources.
  • Améliore les performances en initialisant la fonction en dehors de la boucle principale.

Utilisation

Pour utiliser cette fonction optimisée, remplacez simplement la fonction Foldersize par GetDirectorySize. Par exemple :

$disk_used = GetDirectorySize("C:/xampp/htdocs/freehosting/".$row['name']);
Copier après la connexion

Conclusion

L'optimisation suggérée offre des améliorations significatives des performances en utilisant les capacités d'itération intégrées de PHP, réduisant ainsi l'utilisation du processeur pendant l'exécution. Cette approche garantit un calcul précis de la taille du répertoire tout en optimisant la consommation des ressources.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal