Dateien zählen

Hallo zusammen

Ich möchte mit einem PHP script (besser gesagt einer function
die ich danach includen kann) die Bilder in einem Ordner zählen.
Bis anhin habe ich folgenden Code verwendet:

<?PHP function foldercount($ordner) {
$hdl=opendir($ordner); $counter=1; while($res=readdir($hdl)) { $counter++; } closedir($hdl); return $counter; } ?\> Es zählt tatsächlich die Daten (und die Unterverzeichnisse???) ABER es gibt mir meistens eine falsche Zahl aus... Zweite frage: Die Function habe ich schon richtig geschrieben, oder? Hab' riesige Probleme, die includen zu können. Geht nur wenn ich sie gleich nach

Es zählt tatsächlich die Daten (und die Unterverzeichnisse???)
ABER es gibt mir meistens eine falsche Zahl aus…

logisch

Zweite frage:
Die Function habe ich schon richtig geschrieben, oder?

nein… So wie Du sie geschrieben hast wird alles gezählt also sollte idR die ausgegebene Zahl um 2 zu hoch sein, weil . und … mitgezählt werden. Wenn Du nur willst dass die Ordner gezählt werden müsste es heissen
if (is_dir($res)) $counter++;
bei Dateien dementsprechend is_file.
Vorsicht… evtl musst Du statt $res dann „$ordner/$res“ machen.
evtl wäre es aber besser gleich auf die Endung loszugehen, damit Dir bei Bildern keine php scripte oder text/html Dateien in die quere kommen strrchr mit suche auf „.“ als Ansatz dafür
und dann halt if ($dings == „jpg“ || $dings == „gif“ …) $counter++;

Hab’ riesige Probleme, die includen zu können.
Geht nur wenn ich sie gleich nach

Hallo,

Als Zusatz zu dem, was MunichFreak geschrieben hat, musst du natürlich mit counter=0 anfangen!


$hdl=opendir($ordner);
$counter=0;
while($res=readdir($hdl))

Gruss, Omar Abo-Namous