... no es seguro validar un archivo por la extención.. eso incluye el imperdir archivos con X extención... el motivo está en que simplemente puedo cambiarsela ó aumentarla (archivo.exe.doc, ó crear archivo.jpg que en realidad es un .exe)...
La mejor forma de validar dichos archivos es viendo su tipo... ésto lo haces con
$_FILES['archivo']['type'] que te regresa algo como
images/jpeg, images/gif ... éste, tengo entendido, ánaliza tu código fuente por lo que no importa cuál sea la extención...
Solo te estoy dando una info muy "vaga" (y disculpa por eso)... busca en el foro ó en php.net sobre ésto...
Suerte!