Ordnergröße, Anzahl Dateien, Ordner und Symlinks mit PHP und der RecursiveDirectoryIterator auszulesen

Flattr this
Tweet this: Ordnergröße, Anzahl Dateien, Ordner und Symlinks mit PHP und der RecursiveDirectoryIterator auszulesen
Dent this: Ordnergröße, Anzahl Dateien, Ordner und Symlinks mit PHP und der RecursiveDirectoryIterator auszulesen

Script um mit RecursiveDirectoryIterator und SplFileInfo die Ordnergröße, Anzahl Dateien, Ordner und Symlinks auszulesen.
Beispielausgabe:

Anzahl Elemente:      1822
Anzahl Dateien:       1439
Anzahl Ordner:        376
Anzahl Symlinks:      7
Größe der Dateien:    19709595
<?php
error_reporting(E_ALL | E_STRICT);
$dirIter = new RecursiveDirectoryIterator('./');
$recursiveIterator = new RecursiveIteratorIterator($dirIter, 
                                    RecursiveIteratorIterator::SELF_FIRST,
                                    RecursiveIteratorIterator::CATCH_GET_CHILD);

$counts = array();
$counts['files']        = 0;
$counts['links']        = 0;
$counts['directorys']   = 0;
$counts['all']          = 0;
$counts['size']         = 0;

foreach($recursiveIterator as $element)
{
    /* @var $element SplFileInfo */
    switch($element->getType())
    {
        case 'file':
            $counts['files']++;
            $counts['size'] += $element->getSize();
            break;
        case 'link':
            $counts['links']++;
            break;
        case 'dir':
            $counts['directorys']++;
            break;
    }
    $counts['all']++;
}

echo 'Anzahl Elemente:      ' . $counts['all'] . PHP_EOL;
echo 'Anzahl Dateien:       ' . $counts['files'] . PHP_EOL;
echo 'Anzahl Ordner:        ' . $counts['directorys'] . PHP_EOL;
echo 'Anzahl Symlinks:      ' . $counts['links'] . PHP_EOL;
echo 'Größe der Dateien:    ' . $counts['size'] . PHP_EOL;

Trackbacks (0)

Trackbackurl: http://www.robo47.net/trackback/snippet/15

Es sind keine Trackbacks vorhanden.


Kommentare (0)

Es sind noch keine Kommentare vorhanden.

Die Kommentare zu diesem Beitrag sind gesperrt.

You liked it ? Link it on your homepage or blog: