Hallo Zusammen
Ich habe mir in den letzten Monaten eine Fotogalerie zusammen gesetzt und ein count_file Script zum JPGs zählen eingesetzt. Nur leider läuft das Script mit zunehmender Menge der Bilder immer langsamer. Zur Zeit befinden sich rund 5200 Bilder in der Galerie und das Zählen dauert immer länger. Gibt es schnelleres Script zum Bilder zählen?
Ich hänge das Verwendete mal an:
<?PHP
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]++;
}
}
// 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
$dir="gast_galerien/";
$atest=count_file($dir);
echo"".$atest[file];
?>
Danke für eventuelle Inputs
Gruss Michael