Hola.
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<form action="" id="enviar-noticia" name"enviar-noticia" method="post" enctype="multipart/form-data" > <input type="text" id="titulo" name="titulo" size="80" required /><br /> <input type="file" id="imagen1" name="imagen1" title="Enviar imagen" /> <input type="submit" id="enviar" name="enviar" value="Enviar">
Código PHP:
Ver original<?php
if (isset($_POST["enviar"])) {
/*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.