revisando... esta mal el orden, primero subes y luego preguntas si es imagen (cuando ya esta subido)
hazlo así:
Código PHP:
<?php
if (isset($_POST['submit'])) {
$ty=$_FILES['fichero']['type'];
if($ty=="image/jpeg" or $ty=="image/gif" or $ty=="image/png") {
$ruta= "subidas/".$_FILES['fichero']['name'];
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta)) { //
echo "<b>Upload exitoso!. Datos:</b><br>";
echo "Nombre: <i><a href=\"subidas/".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
echo "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";
echo "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
echo "<br><hr><br>";
}else
echo "El archivo no se pudo subir";
}else
echo "El archivo no es una imágen JPG";
}
?>