Heim Backend-Entwicklung PHP-Tutorial Wie kann ich die Größe eines Verzeichnisses in PHP effizient berechnen?

Wie kann ich die Größe eines Verzeichnisses in PHP effizient berechnen?

Nov 19, 2024 pm 12:04 PM

How Can I Efficiently Calculate a Directory's Size in PHP?

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;
}
Nach dem Login kopieren

Diese Funktion:

  • Konvertiert $path in realpath, um einen gültigen Pfad sicherzustellen.
  • Überprüft, ob der Pfad gültig ist und der Ordner vorhanden ist.
  • Verwendet RecursiveIteratorIterator um den Verzeichnisbaum zu durchlaufen, ausgenommen . und .. Dateien für die Leistung.
  • Akkumuliert die Größe jeder Datei im Verzeichnis.

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!

Erklärung dieser Website
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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) 11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) Mar 03, 2025 am 10:49 AM

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel Arbeiten mit Flash -Sitzungsdaten in Laravel Mar 12, 2025 pm 05:08 PM

Arbeiten mit Flash -Sitzungsdaten in Laravel

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Mar 12, 2025 pm 05:09 PM

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Einführung in die Instagram -API Einführung in die Instagram -API Mar 02, 2025 am 09:32 AM

Einführung in die Instagram -API

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Mar 04, 2025 am 09:33 AM

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

12 Beste PHP -Chat -Skripte auf Codecanyon

Ankündigung von 2025 PHP Situation Survey Ankündigung von 2025 PHP Situation Survey Mar 03, 2025 pm 04:20 PM

Ankündigung von 2025 PHP Situation Survey

See all articles