Wenn Bild gefunden, Bild ausgeben - Bildname nur zum Teil bekannt

So, mit diesen Hilfen funktioniert es jetzt. Was wäre aber wenn die zweite Größe - in diesem Fall 300px - auch nur ungefähr bekannt wäre? D.h. die zweite Größe ist größer als, sagen wir 250px...
 
So langsam wird es Zeit, dass du dir darüber Gedanken machst, was das Funktionsprinzip der Lösungsansätze ist, welche wir dir hier präsentieren. Hier noch einmal zur Erklärung:

preg_match() sucht nach einem regulären Ausdruck Parameter 1 in einer Zeichenkette Parameter 2. Optional kannst du einen Parameter 3 angeben.
Wenn du einen Parameter 3 angibst, behandelt ihn preg_match() als Array und füllt die gefundenen Werte ein. Und zwar an erster Stelle den gesamten String, worin Übereinstimmungen gefunden wurden, an zweiter bis n-ter Stelle die expliziten Übereinstimmungen, die du im regulären Ausrduck mit Klammern gekennzeichnet hast (siehe Beispiel):

PHP:
preg_match("/[a-zA-Z_]*-(\d{3})-(\d{3})[a-zA-Z]*\.png/", $bildname, $matches);
echo "Groesse 1: {$matches[1]}<br />Groesse 2: {$matches[2]}";

/[a-zA-Z_]*-(\d{3})-(\d{3})[a-zA-Z]*\.png/ zur Erklärung:
/ bezeichnet den Beginn des Strings
[a-zA-Z_]* matched mit einer beliebigen Anzahl Gross-/Kleinbuchstaben und Unterstrichen
Dann folgt fix der Gedankenstrich -
Danach kommt die erste Grösse (\d{3}): \d bedeutet eine Zahl von 0-9 und {3} bedeutet "genau drei Mal". Die Klammern darum herum bewirken, dass der so gefundene Wert in das Array $matches geschrieben wurde. Danach noch ein Gedankenstrich, das Selbe in Grün für die zweite Bilddimension, weitere beliebige Zeichen und zu guter Letzt die Dateiendung.

Damit solltest du deine Funktion mit wenig Aufwand weiterentwickeln können. Solltest du das weiter ausbauen wollen, wirst du nicht umhin kommen etwas über reguläre Ausdrücke selbst zu lernen.

So long, Igäl
 
Zurück