Hallo zusammen,
ich habe auf meiner Seite aktuell folgende Funktion eingebaut. Sie funktioniert auch einwandfrei.
Nun würde ich diese Funktion gerne auf einer Seite mehrfach aufrufen, d.h. die Dateien aus verschiedenen Verzeichnissen zählen. Aber er zählt mir immer nur die Dateien aus dem ersten Aufruf...
Hat jemand eine Idee, wie ich Dateien aus verschiedenen Verzeichnissen zählen kann?
Danke schonmal!
Hier der Code:
ich habe auf meiner Seite aktuell folgende Funktion eingebaut. Sie funktioniert auch einwandfrei.
Nun würde ich diese Funktion gerne auf einer Seite mehrfach aufrufen, d.h. die Dateien aus verschiedenen Verzeichnissen zählen. Aber er zählt mir immer nur die Dateien aus dem ersten Aufruf...
Hat jemand eine Idee, wie ich Dateien aus verschiedenen Verzeichnissen zählen kann?
Danke schonmal!
Hier der Code:
PHP-Code:
function count_file($dir)
{
// Ueberprueft ob das angegebene Verzeichnis existiert
if(is_dir($dir))
{
$afile[directory]=0;
$afile[file]=0;
chdir($dir);
$handle=opendir(".");
while($file=readdir($handle))
{
// Handelt es sich bei $file um ein Unterverzeichnis?
if(is_dir($file) && $file!="." && $file!="..")
{
// directory um eins erhoehen
$afile[directory]++;
// rekursiver Aufruf mit aktuellem Verzeichnis
$y=count_file($file);
// Ergebnisse des rekursiven Aufrufs der Funktion zu
// directory und file aufaddieren
$afile[directory]+=$y[directory];
$afile[file]+=$y[file];
}
// Handelt es sich bei $file um eine Datei?
if(is_file($file))
{
if(strstr($file,".jpg")){ //Nur .jpg-Dateien anzeigen...
// file um eins erhoehen
$afile[file]++;
}
}
}
// Verzeichnisstruktur zurueck gehen
if(stristr($dir,"../")) chdir($_SERVER["DOCUMENT_ROOT"].substr($_SERVER["PATH_INFO"],0,strrpos($_SERVER["PATH_INFO"],"/")));
elseif($dir!=".") chdir("../");
//closedir($handle);
}
return $afile;
}
// Aufruf der Funktion
$dir1="../verzeichnis1/verzeichnis1/";
$atest1=count_file($dir1);
echo"<br />DIRECTORIES: ".$atest1[directory];
echo"<br />FILES: ".$atest1[file];
$dir2="../verzeichnis2/verzeichnis2/";
$atest2=count_file($dir2);
echo"<br />DIRECTORIES: ".$atest2[directory];
echo"<br />FILES: ".$atest2[file];
$dir3="../verzeichnis3/verzeichnis3/";
$atest3=count_file($dir3);
echo"<br />DIRECTORIES: ".$atest3[directory];
echo"<br />FILES: ".$atest3[file];
Kommentar