Heim >Backend-Entwicklung >PHP-Tutorial >PHP verwendet Rekursion, um Beispielcode für die Ordnergröße zu berechnen

PHP verwendet Rekursion, um Beispielcode für die Ordnergröße zu berechnen

怪我咯
怪我咯Original
2017-07-12 11:56:251081Durchsuche

Die Programmiertechnik, mit der sich ein Programm selbst aufruft, wird Rekursion genannt. Rekursion als Algorithmus wird häufig in Programmiersprachen verwendet. Ein Prozess oder eine Funktion verfügt über eine Methode, sich selbst direkt oder indirekt in ihrer Definition oder Beschreibung aufzurufen. Sie wandelt normalerweise ein großes und komplexes Problem in ein kleineres Problem um, das dem ursprünglichen Problem ähnelt, um es zu lösen. Es sind nur wenige Programme erforderlich um die mehrfach wiederholten Berechnungen zu beschreiben, die im Problemlösungsprozess erforderlich sind, wodurch die Menge an Programmcode erheblich reduziert wird. Die Kraft der Rekursion liegt darin, eine unendliche Menge von Objekten mit einer endlichen Anzahl von Anweisungen zu definieren. Im Allgemeinen erfordert die Rekursion Randbedingungen, einen rekursiven Vorwärtsabschnitt und einen rekursiven Rückkehrabschnitt. Wenn die Randbedingungen nicht erfüllt sind, schreitet die Rekursion voran; wenn die Randbedingungen erfüllt sind, kehrt die Rekursion zurück.

In diesem Artikel wird hauptsächlich die Verwendung von Rekursion zur Berechnung der Ordnergröße vorgestellt. Der Code ist sehr einfach zu verwenden und wird hier jedem empfohlen. Gib mir direkt den Code:

Der Code lautet wie folgt:

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;               //返回大小
    }

Das obige ist der detaillierte Inhalt vonPHP verwendet Rekursion, um Beispielcode für die Ordnergröße zu berechnen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn