[PHP] Regexp für Dateinamenprüfung funktioniert nicht

SoKoBaN

B.Ohlsen der alte Schwede
Teammitglied
Regexp für Dateinamenprüfung funktioniert nicht

Ich habe ein Uploadscript, welches ausschliesslich die Endungen *gif, *bmp und *jpg und im Dateinamen nur Zahlen und Buchstaben ohne Whitespace und Sonderzeichen zulassen soll.
PHP:
	if ($_FILES['img1']['name'])
{
  if (preg_match('%^w+.(jpg|gif|bmp)$%',$_FILES['img1']['name']))
  {
   echo "Datei in Ordnung";
   upload_file();
  }
  else
  {
   echo "Fehler im Dateinamen!";
  }
}
Irgendwas funktioniert nicht, preg_match gibt immer false zurück, auch wenn die Datei korrekt ist.
 

Changer

kennt sich schon aus
Bin auch kein Gott in Sachen Regexp, aber versuch das mal
Code:
if (preg_match('/\.(jpg|gif|bmp)$/i',$_FILES['img1']['name']))
 

SoKoBaN

B.Ohlsen der alte Schwede
Teammitglied
@Changer
Funktioniert nach Endungen, Leerzeichen werden aber trotzdem noch akzeptiert. :cry:

@x45
Gute Seite, kannte ich zu dem Thema noch nicht. Ich les mich da mal rein.
 
Oben