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)
