Creo que deberías basar la validez del archivo subido de acuerdo a lo que encuentres en
$_FILES['imagen']['error'][$i], si es cero, entonces todo va bien, de lo contrario:
http://www.php.net/manual/es/feature...oad.errors.php
Me extraña que no hagas una validación adicional, será que sólo tú vas a usar ese formulario y siempre subirás sólo imágenes jpg?