Código PHP:
<?php
$formatosValidos = array("jpg", "png", "gif", "bmp","jpeg","PNG","JPG","JPEG","GIF","BMP");
if(!empty($_FILES['imagen']['name'])){
//Obtenemos la extencion de la imagen
$i = strrpos($_FILES['imagen']['name'],'.');
if (!$i) { $ext = ''; }
$l = strlen($_FILES['imagen']['name']) - $i;
$ext = substr($_FILES['imagen']['name'],$i+1,$l);
if(in_array($ext,$formatosValidos)){
//Si es valida continuamos
//creamos una variable random para que las imagenes no se
//pisen si subimos 2 con el mismo nombre
$rand=rand(10000,99999);
//nombre de la carpeta donde guardas las imagenes
$carpeta='images';
$img=$_FILES['imagen']['tmp_name'];
$imgNom=$_FILES['imagen']['name'];
//Subimos la foto
$resultado = move_uploaded_file($img,$carpeta."/".$rand."_".$imgNom);
//comprobamos que haya subido con exito
if($resultado) echo '<script>alert("La imagen se agrego con exito!")</script>';
else echo '<script>alert("Ocurrio un error, por favor intentelo nuevamente.")</script>';
}else{
//Si no es una extension valida mostramos el error
echo '<script>alert("Formato de archivo incorrecto")</script>';
}
}else{
echo '<script>alert("Por favor, introdusca una imagen")</script>';
}
?>
Ahi tenes la solucion amigaso! tanto grege para decir gregorio muchachos! te lo detalle muy claro!