![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
01/11/2011, 11:26
|
| | Fecha de Ingreso: julio-2006
Mensajes: 57
Antigüedad: 18 años, 7 meses Puntos: 0 | |
Subir imagen y almacenar ruta en MySQL Hola
Estoy intentando subir un formulario con una imagen con PHP.
La imagen iría a una carpeta llamada "imagenes" y los datos, junto con el nombre de la imagen iría a MySQL.
No tengo mucha idea de esto y he visto algunos scripts pero no acaban de funcionarme.
El código que tengo es:
Código:
//Variable para saber si se produce algun error
$error=0;
// Guarda las caracteristicas de la imagen
//nombre_archivo=al directorio y al nombre que quieres que se guarde la foto
$nombre_archivo = "..imagenes/".$_FILES['imagen']['name'];
//tipo_archivo= a la extension del archivo en nuestro caso solo aceptamos imagenes (jpg, gif y png)
$tipo_archivo = $_FILES['imagen']['type'];
// tamano_archivo= Almacena el tamaño del archivo en bytes
$tamano_archivo = $_FILES['imagen']['size'];
//compruebo si las características del archivo son las que deseo
if($nombre_archivo!='../imagenes'){
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpg")) && ($tamano_archivo < 2000000))) {
//el tamaño o la extension del archivo no son correctas se pone error=1
$error=1;
}else{
if (move_uploaded_file($_FILES['imagen']['tmp_name'], $nombre_archivo)){
// El archivo ha sido cargado con éxito
}else{
//No se ha podido guardar el archivo en el servidor error=2
$error=2;
}
}
}
// Comprueba si tiene algun error
if ($error==1){
echo "<script> alert (\"El archivo no debe tener un tamaño superior a 2 MB y deber ser JPG o GIF\"); </script>";
echo "<script language=Javascript> location.href=\"index.php\"; </script>";
die(); }
elseif ($error==2){
echo "<script> alert (\"No se ha podido guardar la imagen en el SERVIDOR \"); </script>";
echo "<script language=Javascript> location.href=\"index.php\"; </script>";
die();
}
//si no hay errores se inserta en la TABLA
else{
$insertSQL = sprintf("INSERT INTO libros (libro_id, nombre_libro, descripcion, precio, imagen) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['libro_id'], "text"),
GetSQLValueString($_POST['nombre_libro'], "text"),
GetSQLValueString($_POST['descripcion'], "text"),
//GetSQLValueString($_POST['Cantidad'], "int"),
GetSQLValueString($_POST['precio'], "double"),
GetSQLValueString($nombre_archivo, "text")
);
mysql_select_db($database_conexion_libros, $conexion_libros);
$Result1 = mysql_query($insertSQL, $conexion_libros) or die(mysql_error());
$insertGoTo = "ingreso_exitoso.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
|