Místo pokusu zjistit typ souboru podle přípony byste měli soubor otevřít a podívat se, co je v něm.
$allowed_types = array(IMAGETYPE_GIF,IMAGETYPE_JPEG,IMAGETYPE_PNG);
if (in_array(exif_imagetype($_FILES["upload_picture"]["tmp_name"]), $allowed_types)){
//is either jpeg, png or gif
}
http://php.net/manual/en/function.exif-imagetype .php