odo: Fatal Error bei Mehrfachabfrage mit Count-Skript

Hallo :)

das skript um das es geht, hat die aufgabe im verzeichnis /test/subtest/ und allen untergeordneten verzeichnissen alle Bilddateien zu zählen und auszugeben. dies tut es auch zur vollsten zufriedenheit. nun möchte ich das skript mehrmals auf einer seite ausführen lassen, um verschiedene verzeichnisse zählen zu lassen. Also zum Beispiel möchte ich die Dateien der Verzeichnisse /test/subtest1/ und /test/subtest2/ und deren jeweils zugehörige Unterverzeichnisse auslesen lassen und als Zahl ausgeben:

subtest1: 30 Dateien
subtest2: 11 Dateien

Dazu gebe ich einfach nur einen anderen pfad in der ausgabe an. Doch leider bekomme ich immer eine fehlermeldung, wie diese:
Fatal error: Cannot redeclare countdir() (previously declared in /www/ ... /runtime.php(42) : eval()'d code:2) in /www/ ... /runtime.php(42) : eval()'d code on line 54

Hat jemand eine idee woran es liegt?

hier das skript:

  
<?php  
  function CountDir($aDir, $aRecurse)  
  {  
    $Count = 0;  
    $d = dir($aDir);  
    while ($Entry = $d->Read())  
    {  
      if (!(($Entry == "..") || ($Entry == ".")))  
      {  
        if (Is_Dir($aDir . '/' . $Entry))  
        {  
          if ($aRecurse)  
          {  
           $Count += CountDir($aDir . '/' . $Entry, $aRecurse);  
        }  
        }  
        else  
        {  
          $Count++;  
        }  
      }  
    }  
        return $Count;  
  }  
  
echo CountDir('./test/subtest/', True);  
  
?>  

  1. Hi,

    Fatal error: Cannot redeclare countdir() (previously declared in /www/ ... /runtime.php(42) : eval()'d code:2) in /www/ ... /runtime.php(42) : eval()'d code on line 54

    Hat jemand eine idee woran es liegt?

    Na daran, dass du mit dem zweiten Einbinden versuchst, noch mal eine Funktion zu erstellen, die es bereits gibt.

    Binde die Funktionsdeklaration nur einmal ein, und rufe die Funktion dann mehrfach auf.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hi,

      Fatal error: Cannot redeclare countdir() (previously declared in /www/ ... /runtime.php(42) : eval()'d code:2) in /www/ ... /runtime.php(42) : eval()'d code on line 54

      Hat jemand eine idee woran es liegt?

      Na daran, dass du mit dem zweiten Einbinden versuchst, noch mal eine Funktion zu erstellen, die es bereits gibt.

      Binde die Funktionsdeklaration nur einmal ein, und rufe die Funktion dann mehrfach auf.

      MfG ChrisB

      Hehe :) Danke!

  2. Hi,

    Fatal error: Cannot redeclare countdir() (previously declared in /www/ ... /runtime.php(42) : eval()'d code:2) in /www/ ... /runtime.php(42) : eval()'d code on line 54

    eine PHP-Fehlermeldung ist kein HTML, also ergibt es keinen Sinn, sie hier im Forum als HTML zu markieren.

    Hat jemand eine idee woran es liegt?

    Steht doch schon in der Meldung: Offensichtlich deklarierst du die Funktion ein zweites Mal. Das erste Mal in runtime.php, Zeile 2, das zweite Mal in runtime.php, Zeile 54. Wozu das?

    Ciao,
     Martin

    --
    Dieser Satz wurde in mühsamer Kleinstarbeit aus einzelnen Wörtern zusammengesetzt.
      (Hopsel)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  3. Hello,

    das skript um das es geht, hat die aufgabe im verzeichnis /test/subtest/ und allen untergeordneten verzeichnissen alle Bilddateien zu zählen und auszugeben. dies tut es auch zur vollsten zufriedenheit.

    Dann ist der Tester blöd und muss entlassen werden :-P

    Suche mal hierzu nadch Beiträgen von mir zum Thema "rekursive Verzeichnissuche".

    Das Problem Deines Scriptes ist, dass es keine symbolischen Links erkennt und sich deshalb aufhängen kann.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de