Wie wäre es, wenn Du den Dateinamen beim "." aufsplittest und dann danach gehst?
z.B.
PHP-Code:
$tmp = explode(".",$_FILES['datei']['name']);
switch($tmp[1]) {
case "exe":
$error = false;
break;
}
Weiß nur geraden icht genau, wie der korrekte Arraywert für den Dateinamen ist.
Aber das Prinzip sollte klar sein.
$tmp erhält den Wert, der beim Punkt gesplitteten Teile.
bla.exe --> $tmp[0] = bla, $tmp[1] = exe. Wenn Du nun $tmp[1] switchest kannst Du mit jeder Dateiendung arbeiten.
Da es aber, wie Du sagtest auch Dateien ohne Endung gibt kannst Du mit case "": arbeiten (denke ich mal). Dann kannst Du zusätzlich mit is_file() arbeiten.
Siehe auch bei PHP.net bei explode und is_file .
War das das, was Du suchst?