programmieren:php:programme:bigfile
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
programmieren:php:programme:bigfile [04/10/2020 16:23] – angelegt conny | programmieren:php:programme:bigfile [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
Listet die Verzeichnis Strukur rekursiv und zeigt die Verzeichnisgröße bzw. auch Dateien welche größer sind als eine angegebene Größe | Listet die Verzeichnis Strukur rekursiv und zeigt die Verzeichnisgröße bzw. auch Dateien welche größer sind als eine angegebene Größe | ||
\\ | \\ | ||
- | <code php| bigfile.php> | ||
- | <?php | ||
- | /* | ||
- | * Listet die Verzeichnis Strukur rekursiv und zeigt die Verzeichnisgröße | ||
- | * bzw. auch Dateien welche größer sind als eine angegebene Größe | ||
- | * Copyright by Conny Henn 2017 - www.Hennweb.de | ||
- | */ | ||
- | // Einstellungen | ||
- | $folder = "/ | ||
- | $big_file = True; // Zeige Dateien an die größer sind als $big_file_size, | ||
- | $big_file_size = 1000000; | ||
- | $big_dir_size = 1000000; | ||
- | $empty_dir = false; // Leere Verzeichnisse anzeigen TRUE oder nicht FALSE | ||
- | // ab hier nichts mehr ändern | + | \\ |
- | echo "< | + | Bei Gelegenheit kann man noch folgende Unix Befehle mit einbinden\\ |
- | echo $folder." | + | \\ |
- | echo dirname(__FILE__)."< | + | df |
+ | <code> | ||
+ | disk free zeigt den freien, also verfügbaren, | ||
+ | Freien Speicherplatz des gesamten Dateisystems anzeigen: | ||
- | $size = 0; | + | df -h |
- | $dir_size = 0; | + | |
- | $dir = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folder), | + | Freien Speicherplatz des lokalen Dateisystems anzeigen: |
- | foreach($dir as $file) | + | |
- | { | + | df -hl |
- | if ( is_dir($file-> | + | </ |
- | { | + | du |
- | if (substr($file-> | + | < |
- | { | + | disk usage zeigt den belegten, nicht verfügbaren, |
+ | |||
+ | Gesamten belegten Speicherplatz des Systems anzeigen: | ||
+ | |||
+ | du -sh / | ||
+ | |||
+ | Belegten Speicherplatz des Ordners Media anzeigen, ohne *.bmp Dateien zu berücksichtigen: | ||
+ | |||
+ | du --exclude=" | ||
+ | |||
+ | Belegten Speicherplatz des aktuellen Verzeichnisses anzeigen: | ||
+ | |||
+ | du -sh ./ | ||
+ | |||
+ | Sortierung des belegenten Speicherplatz mit maximaler Rekursions-Tiefe von 1: | ||
+ | |||
+ | du -h --max-depth 1 ./ | sort -h | ||
+ | </ | ||
+ | |||
+ | <code php| bigfile.php> | ||
+ | <?php | ||
+ | /* | ||
+ | * Listet die Verzeichnis Strukur rekursiv und zeigt die Verzeichnisgröße | ||
+ | * bzw. auch Dateien welche größer sind als eine angegebene Größe | ||
+ | * Copyright by Conny Henn 2017 - www.Hennweb.de | ||
+ | */ | ||
+ | |||
+ | // Einstellungen | ||
+ | $folder = "/ | ||
+ | $big_file = True; // Zeige Dateien an die größer sind als $big_file_size, | ||
+ | $big_file_size = 10000000; | ||
+ | $big_dir_size = 10000000; | ||
+ | $empty_dir = false; // Leere Verzeichnisse anzeigen TRUE oder nicht FALSE | ||
+ | |||
+ | // ab hier nichts mehr ändern | ||
+ | echo "< | ||
+ | echo $folder."< | ||
+ | echo dirname(__FILE__)."< | ||
+ | echo " | ||
+ | echo " | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | | ||
+ | $dir_size = 0; | ||
+ | $dir = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folder), | ||
+ | foreach($dir as $file) | ||
+ | { | ||
+ | if ( is_dir($file-> | ||
+ | { | ||
+ | if (substr($file-> | ||
+ | { | ||
+ | |||
+ | if ($empty_dir){ | ||
+ | $dir_size_value=0; | ||
+ | } else { | ||
+ | $dir_size_value=1; | ||
+ | } | ||
+ | |||
+ | // recursive Verzeichniss Größe -Verzeichnis mit Unterverzeichnis | ||
+ | // $dir_size = GetDirectorySize( $file-> | ||
+ | |||
+ | // Verzeichnissgröße - NUR aktuelles Verzeichnis | ||
+ | $dir_size = dirSize( $file-> | ||
+ | |||
+ | if ( $dir_size >= $dir_size_value ) | ||
+ | { | ||
+ | if ( $dir_size > $big_dir_size ) { | ||
+ | echo "< | ||
+ | echo substr(" | ||
+ | |||
+ | echo "</ | ||
+ | //if ( $dir_size > $big_dir_size ) | ||
+ | } | ||
+ | $dir_size=0; | ||
+ | } | ||
+ | } | ||
+ | } else { | ||
+ | $x = filesize($file-> | ||
+ | $size += $x; | ||
+ | $dir_size += $x; | ||
+ | if ($x> | ||
+ | { | ||
+ | echo '< | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | echo " | ||
+ | |||
+ | |||
+ | // ------------------------------ | ||
+ | function FileSizeConvert($bytes) | ||
+ | { | ||
+ | $units = array(' | ||
+ | $bytes = max($bytes, 0); | ||
+ | $pow = floor(($bytes ? log($bytes) : 0) / log(1024)); | ||
+ | $pow = min($pow, count($units) - 1); | ||
+ | $bytes /= pow(1024, $pow); | ||
+ | return round($bytes, | ||
+ | return $result; | ||
+ | } | ||
- | if ($empty_dir){ | + | // recursive Verzeichniss Größe - Verzeichnis mit Unterverzeichnis |
- | $dir_size_value=0; | + | function GetDirectorySize($path){ |
- | } else { | + | $bytestotal |
- | $dir_size_value=1; | + | $path = realpath($path); |
- | } | + | if($path!==false && |
- | if ( $dir_size >= $dir_size_value | + | foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator:: |
- | { | + | $bytestotal += $object->getSize(); |
- | if ( $dir_size > $big_dir_size ) echo "< | + | |
- | echo substr(" | + | |
- | if ( $dir_size | + | |
- | $dir_size=0; | + | |
} | } | ||
} | } | ||
- | } else { | + | |
- | $x = filesize($file-> | + | |
- | $size += $x; | + | |
- | $dir_size += $x; | + | |
- | if ($x> | + | |
- | { | + | |
- | echo '< | + | |
- | } | + | |
} | } | ||
- | } | + | |
- | echo " | + | // Verzeichniss Größe - NUR aktuelles Verzeichnis |
+ | function dirSize($directory) { | ||
+ | $size = 0; | ||
+ | foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file){ | ||
+ | $size+=$file-> | ||
+ | } | ||
+ | return $size; | ||
+ | } | ||
+ | |||
+ | ?> | ||
- | // ------------------------------ | ||
- | function FileSizeConvert($bytes) | ||
- | { | ||
- | $units = array(' | ||
- | $bytes = max($bytes, 0); | ||
- | $pow = floor(($bytes ? log($bytes) : 0) / log(1024)); | ||
- | $pow = min($pow, count($units) - 1); | ||
- | $bytes /= pow(1024, $pow); | ||
- | return round($bytes, | ||
- | return $result; | ||
- | } | ||
- | ?> | ||
</ | </ |
programmieren/php/programme/bigfile.1601821396.txt.gz · Zuletzt geändert: 04/10/2020 15:23 (Externe Bearbeitung)