kostenloser Webspace werbefrei: lima-city


Ordner auslessen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    youtvti

    youtvti hat kostenlosen Webspace.

    ich habe folgende Problem

    ich habe code

    <?php
        error_reporting(E_ALL | E_STRICT);
        $dirIter = new RecursiveDirectoryIterator('Z:\xampp\htdocs\server');
        $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){
            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 '<br/>';
        echo 'Anzahl Dateien:       ' . $counts['files'] . PHP_EOL;
        echo '<br/>';
        echo 'Anzahl Ordner:        ' . $counts['directorys'] . PHP_EOL;
        echo '<br/>';
        echo 'Anzahl Symlinks:      ' . $counts['links'] . PHP_EOL;
        echo '<br/>';
        echo 'Größe der Dateien:    ' . $counts['size'] . PHP_EOL;
        echo 'Bytes';
    ?>


    der code zeiget false ergebnisse bei "Anzahl .... kann mir jemend helfen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Zunächst mal: Wie genau meinst du das? Schreibt dein Skript
    Anzahl Elemente: false
    Anzahl Dateien: false
    Anzahl Ordner: false
    Anzahl Symlinks: false
    Größe der Dateien: false
    auf die Konsole? Oder gibt es eine Fehlermeldung? Bzw. was genau gibt dein Skript aus?
  4. Autor dieses Themas

    youtvti

    youtvti hat kostenlosen Webspace.

    nein kein Fehler meldung
    der script funktioniert

    nur der zeigt falsche ergebisse
    z.b

    Anzahl Elemente: 76
    Anzahl Dateien: 41
    Anzahl Ordner: 35 falsch sind nur 11 ordner und nicht 35
    Anzahl Symlinks: 0

  5. Das Skript zählt auch noch alle Elemente in den Unterordnern mit. Hast du das beachtet?
  6. Autor dieses Themas

    youtvti

    youtvti hat kostenlosen Webspace.

    ja komm ich troztem nicht auf 35 ordner
    in
    Verzeichnis: Z:\xampp\htdocs\server

    stimmt überhaubt so

    Z:\xampp\htdocs\server'


    festplatte "Z"
    in Ordner "xampp\htdocs\serve"

    soll auch hier zahlen "ordner,Datein"

    Beitrag zuletzt geändert: 9.3.2015 16:29:50 von youtvti
  7. In jedem Verzeichnis werden auch . und .. gelistet. Deshalb hast du so viele Ordner.
    Hier noch ein modifiziertes Skript. Ich habe Zeile 23 eingefügt, um alle Ordner auszugeben.
    <?php
        error_reporting(E_ALL | E_STRICT);
        $dirIter = new RecursiveDirectoryIterator('Z:\xampp\htdocs\server');
        $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){
            switch($element->getType()){
                case 'file':
                    $counts['files']++;
                    $counts['size'] += $element->getSize();
                break;
                case 'link':
                    $counts['links']++;
                    break;
                case 'dir':
                    echo $recursiveIterator->current()."<br>";
                    $counts['directorys']++;
                    break;
            }
            $counts['all']++;
        }
        echo 'Anzahl Elemente:      ' . $counts['all'] . PHP_EOL;
        echo '<br/>';
        echo 'Anzahl Dateien:       ' . $counts['files'] . PHP_EOL;
        echo '<br/>';
        echo 'Anzahl Ordner:        ' . $counts['directorys'] . PHP_EOL;
        echo '<br/>';
        echo 'Anzahl Symlinks:      ' . $counts['links'] . PHP_EOL;
        echo '<br/>';
        echo 'Größe der Dateien:    ' . $counts['size'] . PHP_EOL;
        echo 'Bytes';
    ?>
    Prüfe also ob der Dateiname ungleich . oder .. ist und zähle nur dann die Ordner hoch.
  8. mein-wunschname

    mein-wunschname hat kostenlosen Webspace.

    Ich habe dein Script bei mir getestet. Es liefert exakt die vorhandene Anzahl der Ordner. Auch die Anzahl der Objekte ist Ordner+Dateien, bei dir wie bei mir.

    Auch die Byte-Zahl stimmt.

    Probiere es doch mal mit einem anderen Verzeichnis aus.
  9. Autor dieses Themas

    youtvti

    youtvti hat kostenlosen Webspace.

    ja ok funktioniert

    danke:thumb:
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!