Hi,
$a_dateien = glob('C:\HDR-bilder*.png');
$returnValue = count( (is_array($a_dateien) ? $a_dateien : NULL) );
> Leider zählt das Script so nur die Dateien in dem genannten Ordner, nicht in dessen Unterordnern
ja, das ist richtig. Um auch Unterverzeichnisse mitzuzählen, müsstest du nun das Array durchgehen, jeden einzelnen Eintrag daraufhin prüfen, ob er ein Verzeichnis beschreibt (dabei die Pseudoverzeichnisse "." und ".." überspringen) und ggf. für dieses Verzeichnis das gleiche Verfahren wiederholen. Es bietet sich an, diesen Ablauf mit einer Rekursion zu lösen.
> und das auch nur, wenn die Groß-/Kleinschreibung der Dateiendung stimmt.
Das Argument zählt nicht: Auf Systemen, die Groß/Kleinschreibung bei Dateinamen unterscheiden, ist dein Einwand richtig. Aber da ist es ja auch gewollt, da anything.png eine ganz andere Bedeutung als anything.PNG haben kann.
Auf Windows-basierten Systemen, die das nicht unterscheiden, findet dein Ansatz mit \*.png aber auch \*.PNG oder \*.Png oder ...
Interessant könnte aber auch die Verwendung des Flags GLOB\_BRACE sein, damit könntest du automatisch nach unterschiedlichen Schreibweisen suchen.
> Kann mir jemand die Funktion schreiben (sorry, wenn ich so dreist frage)
Nein. Das ist eigentlich nicht das erklärte Ziel dieses Forums. Aber wir helfen dir gern, wenn du es selbst lösen willst und irgendwo nicht weiterkommst.
> oder einen Hinweis geben, wo ich zielführende Infos finde?
Den IMHO entscheidenden Hinweis habe ich schon gegeben: Rekursion. Die User Contributed Notes im [PHP-Manual zu glob()](http://de2.php.net/manual/en/function.glob.php) enthalten ein paar interessante und hilfreiche Beispiele. Alles andere bekommst du mit einer einfachen Schleife über das Array, das du von glob() zurückbekommst.
So long,
Martin
--
Männer sind ungerecht: Sie sehen immer nur den Baum, den eine Frau mit dem Auto gerammt hat. Aber die vielen Bäume, die sie nicht einmal gestreift hat, sehen sie nicht.