Hola.
He creado esto para subir una imagen y a la vez rellenar los campos en una base de datos:
<?php
//conexion a la base de datos
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("cetech") or die(mysql_error()) ;
//comprobamos si ha ocurrido un error.
if ($_FILES["Imagen"]["error"] > 0){
echo "ha ocurrido un error";
} else {
//ahora vamos a verificar si el tipo de archivo es un tipo de imagen permitido.
//y que el tamano del archivo no exceda los 100kb
$permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png", "image/bmp");
$limite_kb = 1800;
if (in_array($_FILES['Imagen']['type'], $permitidos) && $_FILES['Imagen']['size'] <= $limite_kb * 2048){
//esta es la ruta donde copiaremos la imagen
$ruta = "../imagenes/subidas/" . $_FILES['Imagen']['name'];
//comprobamos si este archivo existe para no volverlo a copiar.
if (!file_exists($ruta)){
//aqui movemos el archivo desde la ruta temporal a nuestra ruta
//usamos la variable $resultado para almacenar el resultado del proceso de mover el archivo
//almacenara true o false
$resultado = @move_uploaded_file($_FILES['Imagen']['tmp_name'], $ruta);
$cod =$_POST['Codigo_Producto'];
$nomprod =$_POST['Nombre_Producto'];
$desc =$_POST['Descripcion_Producto'];
$prize =$_POST['Precio_Producto'];
$cat =$_POST['Categoria_Producto'];
$secc =$_POST['Seccion_Web'];
$est =$_POST['Estado_Producto'];
$fec =$_POST['Fecha_Fin'];
$_SESSION =$_POST['Nombre_Usuario'];
if ($resultado){
$nombre = "imagenes/subidas/".$_FILES['Imagen']['name'];$_cod;$nomprod;$desc;$prize;$cat;$secc;$est;$fec; $_SESSION;
@mysql_query("INSERT INTO productos (Imagen,Codigo_Producto,Nombre_Producto,Descripcio n_Producto,Precio_Producto,Categoria_Producto,Secc ion_Web,Estado_Producto,Fecha_Fin,Nombre_Usuario) VALUES ('$nombre','$cod','$nomprod','$desc','$prize','$ca t','$secc','$est','$fec','$_SESSION')") ;
echo "La entrada ha sido creada correctamente";
} else {
echo "ocurrio un error al crear la entrada. Compruebe todos los campos.";
}
} else {
echo $_FILES['Imagen']['name'] . ", Este archivo existe.
No se ha podido crear la entrada en la galería.";
}
} else {
echo "archivo no permitido, es tipo de archivo prohibido o excede el tamano de $limite_kb Kilobytes";
}
}
?>
Si la imagen existe no permite subirla de nuevo, pero quiero añadir la función que si ya existe un Nombre_Producto, no se pueda subir y tampoco suba la imagen.
He probado varios metodos pero no lo consigo y en algunos no se crea en la base de datos pero si sube la imagen.
No he puesto los que he probado para no liar más el código.
Gracias por vuestra colaboración.