Estoy creando un administrador de contenidos con un formulario en html5 y probando la opción de enviar noticias con la opción de imágenes o sin imágenes. Por ahora estoy haciendo pruebas para ir comprobando lo siguiente:
- Si existe una imágen a enviar que haga un aviso de que sí hay imagen.
- Si existe dicha imágen que revise si su formato es correcto (jpg, gif, png)
- Si no lo es que avise que no es correcto dicho formato.- Si no existe imágen que avíse diciendo no hay imagen (para luego hacer el envío)
Por ahora lo estoy preparando asi:
Código HTML:
Ver original
Código PHP:
Ver original
<?php { /*Primero compruebo si se ha elegido una imagen*/ if($_FILES["imagen1"]['tmp_name']!="") { echo "Hay imagen "; /*--------------------------- Aquí preparo la imagen, imagen1*/ //Ruta para subir el archivo $destino = '../img'; //Nombre de la imagen $imagen1=$_FILES["imagen1"]["name"]; //Nombre Imagen temporal $imagen1_tmp=$_FILES["imagen1"]["tmp_name"]; //Tamaño $imagen1_tamano=$_FILES["imagen1"]["size"]; $kilobytes=$imagen1_tamano/1024;//Tamaño de la imagen en Kylobytes; $maximo = 102400; //100Kb $max=1500000; //(1.5Mb) //Tipo de archivo $imagen1_tipo=$_FILES["imagen1"]["type"]; //Compruebo si el tipo de archivo es correcto if($imagen1_tipo == "image/jpeg" or $imagen1_tipo == "image/gif" or $imagen1_tipo == "image/png" or $imagen1_tipo == "image/x-png") { echo "La imagen es correcta<br />"; } else{ echo "Error, formato de imagen no válida."; } } /*Si no se ha elegido ninguna imagen*/ else { echo "No lleva imágenes y preparo el envío."; } } ?>
Todo sale bien sin embargo si meto un archivo .pdf o .avi o .mp3 directamente pasa a no hay imagen y entonces el usuario si podría hacer el envio, cuando lo que debería de aparecer es: "Error, formato de imagen no válida." y así no poder enviarse para que el usuario meta una imagen correcta.
¿Qué debo de cambiar en ese código?. Saludos.