Grundlegendes zur Berechnung der Ordnergröße in PHP
Das Messen der Größe eines Verzeichnisses ist eine häufige Aufgabe bei der Verwaltung von Dateisystemen in PHP. Bestimmte Ansätze können jedoch zu einer hohen Prozessorauslastung führen. In diesem Artikel werden eine optimierte Lösung und Alternativen zur Berechnung der Verzeichnisgröße in PHP untersucht.
Der in der Frage vorgestellte Originalcode verwendet eine rekursive Funktion, „foldersize“, um Dateien und Ordner zu durchlaufen und deren Größen zu akkumulieren. Obwohl dieser Ansatz funktioniert, kann er sich aufgrund der rekursiven Natur des Algorithmus auf die Leistung auswirken.
Um diesen Prozess zu optimieren, verwendet die in der Antwort vorgeschlagene verbesserte GetDirectorySize-Funktion einen effizienteren Ansatz:
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; }
Diese Funktion:
Durch die Verwendung dieses optimierten Ansatzes kann die Prozessorauslastung erheblich reduziert werden, während die genaue Verzeichnisgröße beibehalten wird Berechnung.
Das obige ist der detaillierte Inhalt vonWie kann ich die Größe eines Verzeichnisses in PHP effizient berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!