schnipp: Dateien aus mehreren Ordnern zählen?

Wie kann ich Dateien aus mehreren Ordnern zählen und dann addieren?

Das habe ich versucht:

  
  
$files = scandir($dir, 0);  
for ($bilder = 0; $bilder <= $ordneranzahl; $bilder++)  
{  
if ($files[$bilder] != "." && $files[$bilder] != ".." && $files[$bilder] != "")  
{  
$filesall = scandir("downloads/$files[$bilder]/thumb");  
  
$countthumb = count(glob("downloads/$files[$bilder]/thumb/*"));  
  
echo("$countthumb");  
  
        }  
    }  

So habe ich zwar die Anzahl der Dateien in den Ordnern, aber sie werden nur als Zahlen aufgelistet. Wie kann ich diese Zahlen addieren?

Vielen Dank für eure Hilfe!

  1. Hi!

    So habe ich zwar die Anzahl der Dateien in den Ordnern, aber sie werden nur als Zahlen aufgelistet. Wie kann ich diese Zahlen addieren?

      
    $zahl1  + $zahl2 + ....;  
    
    

    Oder was meinst du?

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. @Rouven: Super, genau das habe ich gebraucht! Was ein kleines Plus alles so bewirken kann xD Das echo in der Schleife war mein Fehler, habe vergessen die Zeile zu entfernen.

      @Peter Pan: Nein, das ist viel zu kompliziert, da man alle Zahlen einzelnd definieren muss.

      Danke für die Hilfe!

  2. Hello,

    $countthumb = count(glob("downloads/$files[$bilder]/thumb/*"));

    Anstatt die Variable zu überschreiben solltest du addieren.
    Verwende $countthum += count(glob("downloads/$files[$bilder]/thumb/*"));

    echo("$countthumb");

    Anstatt innerhalb der Schleife den Stand auszugeben, solltest du dies am Ende tun.

    MfG
    Rouven

    --
    -------------------
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
    Inter Arma Enim Silent Leges  --  Cicero
  3. Hallo

    Wie kann ich Dateien aus mehreren Ordnern zählen und dann addieren?

    $files = scandir($dir, 0);
    for ($bilder = 0; $bilder <= $ordneranzahl; $bilder++)
    // ...
    $countthumb = count(glob("downloads/$files[$bilder]/thumb/*"));
    // ...
        }

      
    Eine andere Möglichkeit, als die von Rouven genannte, wäre, die ermittelten Zahlen in einem Array abzulegen und sie nach der Schleife zu addieren.  
      
    ~~~php
    // in der Schleife  
    $countthumb[$bilder] = count(glob("downloads/$files[$bilder]/thumb/*"));  
      
    // und nach/hinter der Schleife  
    $summe = array_sum($countthumb);
    

    Ein möglicher Vorteil wäre, innerhalb der Schleife auf den zu diesem Durchlauf gehörigen Wert, also der Anzahl der Dateien im ausgezählten Verzeichnis, mit $countthumb[$bilder] direkten Zugriff zu haben, wohingegen Rouvens Lösung nur die Gesamtsumme der Dateien aller bisherigen Durchläufe der Schleife ausgibt.

    Tschö, Auge

    --
    Die deutschen Interessen werden am Liechtenstein verteidigt.
    Veranstaltungsdatenbank Vdb 0.2