PHP utilise la récursivité pour calculer un exemple de code de taille de dossier

怪我咯
Libérer: 2023-03-13 17:26:02
original
1050 Les gens l'ont consulté

La technique de programmation dans laquelle un programme s'appelle s'appelle la récursivité. La récursivité en tant qu'algorithme est largement utilisée dans les langages de programmation. Un processus ou une fonction a une méthode pour s'appeler directement ou indirectement dans sa définition ou sa description. Il transforme généralement un problème vaste et complexe en un problème plus petit similaire au problème d'origine à résoudre. La stratégie récursive ne nécessite qu'un petit nombre de programmes. pour décrire les multiples calculs répétés requis dans le processus de résolution de problèmes, ce qui réduit considérablement la quantité de code de programme. Le pouvoir de la récursivité réside dans la définition d'un ensemble infini de objets avec un nombre fini d'instructions. De manière générale, la récursivité nécessite des conditions aux limites, un segment aller récursif et un segment retour récursif. Lorsque les conditions aux limites ne sont pas remplies, la récursion avance ; lorsque les conditions aux limites sont remplies, la récursion revient.

Cet article présente principalement PHP pour utiliser la récursion pour calculer la taille du dossier. Le code est très simple à utiliser et est recommandé à tout le monde ici. Donnez-moi directement le code :

Le code est le suivant :

protected function dir_size($dir){
        $dh = opendir($dir);             //打开目录,返回一个目录流
        $size = 0;      //初始大小为0 
        while(false !== ($file = @readdir($dh))){     //循环读取目录下的文件
           if($file!='.' and $file!='..'){
            $path = $dir.'/'.$file;     //设置目录,用于含有子目录的情况
                if(is_dir($path)){
                $size += $this->dir_size($path);  //递归调用,计算目录大小
                }elseif(is_file($path)){
                    $size += filesize($path);   //计算文件大小
                }
            } 
        }   
        closedir($dh);             //关闭目录流
        return $size;               //返回大小
    }
Copier après la connexion

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal