si este es un dilema con los mime types
http://en.wikipedia.org/wiki/Internet_media_type
Tambien podrias optar por hacer una función que lea los archivos de atras para adelante y al encontrar el punto usar la cadena subcadena que tiene la extension y compararla con un array de tus extenciones validas.. admitidas..