il controllo sull'estensione lo puoi fare da javascript per evitare l'upload... poi lato server puoi implementare un controllo più rigido che non si basi sull'estensione ma sul mime type del file

quanto al codice.. perdonami ma non ce la faccio. sono febbricitante e non ho proprio voglia.. cmq è smeplice:

http://it.php.net/manual/it/function...ntent-type.php