Mcuhas Gracias TheoriaX, he intentado lo que me mencionas y veo que si funciona en teoria, pero no se si me podrias ayudar un poco en indicarme como lo coloco en el codigo, disculpa mi torpeza pero como no tengo mucho de programar me confundo un poco al utilizar if's anidados, dejo el codigo para ver si alguien me pue decir que estoy haciendo mal, gracias.
El codigo que dejo funciona correctamente para almacenar la ruta de la imagen en la base y depositar en la carpeta la imagen, pero al agregar el codigo para validar los tipos de imagen validos en este caso JPG o GIF sole me paraece el mesaje de
"Solo se permiten imagenes JPG o GIF" y no carga nada a la base ni a la carpeta, aunque sean los formatos correctos, por lo cual creo que por la posicion en que he colocado el primer if da este error.
guardar.php Código PHP:
$ruta = "uploads/{$_FILES['imagen'][name]}";
$imagen_tipo = $_FILES['imagen']['type'];
if ($imagen_tipo != "jpg" || $imagen_tipo != "gif") { //Agrego este if para verificar si el tipo de imagen es JPG o GIF y Si no es manda el mensaje de error
echo "Solo se permiten imagenes JPG ó GIF";
}else{ //Si el formato de imagen es valido continua con la carga a la base de datos y a la carpeta
if(!copy($_FILES['imagen']['tmp_name'], $ruta)) {
echo "error al copiar el archivo";
} else {
echo "archivo subido con exito";
mysql_connect("localhost","usuario","pass");
mysql_select_db("db");
$nombre = $_POST["nombre"];
$autor = $_POST["autor"];
$comentario = $_POST["comentario"];
mysql_query("INSERT INTO imagenes2 (nombre,autor,comentario,ruta) VALUES ('$nombre','$autor','$comentario','$ruta')");
echo "Se ha subido la imagen a la base de datos";
}
}