Fatal Error bei Mehrfachabfrage mit Count-Skript
odo
- php
0 ChrisB0 odo
0 Der Martin0 Tom
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);
?>
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
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!
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
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