Foros del Web » Programando para Internet » PHP »

Guradar URL de foto en BD

Estas en el tema de Guradar URL de foto en BD en el foro de PHP en Foros del Web. Hola amigos. A ver si me podéis echar un cable tengo este codigo que me sube la imagen al servidor perfectamente. ............................................ <?php if (isset($_POST['submit'])) ...
  #1 (permalink)  
Antiguo 24/11/2010, 11:01
 
Fecha de Ingreso: mayo-2010
Mensajes: 43
Antigüedad: 14 años, 6 meses
Puntos: 0
Guradar URL de foto en BD

Hola amigos.
A ver si me podéis echar un cable
tengo este codigo que me sube la imagen al servidor perfectamente.
............................................
<?php
if (isset($_POST['submit'])) {
if(is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $_FILES['fichero']['name'])) { // se coloca en su lugar final
echo "<b>Upload exitoso!. Datos:</b><br>";
echo "Nombre: <i><a href=\"".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
echo "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";
echo "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
echo "<br><hr><br>";
}
}

// A continuación el formulario
}
?>

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
Archivo: <input name="fichero" type="file">
<input name="submit" type="submit" value="Upload!">
</form>

</body>
</html>
...............................................

Podria alguien decirme como puedo guardar la ruta de la foto en una BD para luego mostrarla en una cuenta de usuario.
Las fotos se guardan en la raiz del sitio junto con el formulario.
Como podría guardarla en una carpeta ... ??
Gracias.
  #2 (permalink)  
Antiguo 24/11/2010, 13:37
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Guradar URL de foto en BD

El segundo parametro de move_uploaded_file es el lugar en donde guardas la foto (lugar y nuevo nombre, digamos)

Guardar el nombre en base de datos no es misterio. Si sos capaz de guardar otro tipo de dato, lo unico que necesitas para este es $_FILES['fichero']['name'] ( o el nombre arbitrario que vos le quieras dar ).
  #3 (permalink)  
Antiguo 24/11/2010, 14:47
Avatar de gusma62  
Fecha de Ingreso: julio-2008
Ubicación: Tepatitlán, Jalisco, Mexico
Mensajes: 167
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: Guradar URL de foto en BD

el segundo parámetro de la función move_uploaded_file es el destino del archivo, entonces, solo vastaría agregar el nombre de la carpeta, quedando mas o menos asi:

if(move_uploaded_file($_FILES['fichero']['tmp_name'], "nombreCarpeta/".$_FILES['fichero']['name'])) { // se coloca en su lugar final

espero te sirva, saludos
  #4 (permalink)  
Antiguo 25/11/2010, 06:39
 
Fecha de Ingreso: mayo-2010
Mensajes: 43
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Guradar URL de foto en BD

muchisimas gracias. Funciona genial.
Me sube la foto a la carpeta elegida en el servidor.
Recomiendo este codigo porque a mi no me dá fallos. (Lo he probado solo con .gif)
Para quién como yo no lo sabía, se ha de poner el formulario y la carpeta en el mismo directorio, y a la carpeta creada para las imagenes darle permisos 775 en el servidor.

Última edición por NAVYGAR; 25/11/2010 a las 06:47
  #5 (permalink)  
Antiguo 25/11/2010, 12:41
 
Fecha de Ingreso: mayo-2010
Mensajes: 43
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Guradar URL de foto en BD

Ahora tengo otra cuestion Por Favor.
Decidí que el usuario se loguee y salte a su cuenta (Previo registro en un formulario).
Este formulario de registro inicial (No solicita subir imagenes). Las imágenes se suben desde su cuenta.
El problema es que en la cuenta del usuario tengo un enlace para subir las fotos, y me las sube perfectamente y graba los datos en la BD, pero lo hace en otro registro. Es decir me crea otro registro (Como si de otro usuario se tratara), solo que con los demas campos vacios menos los de la imagen.

Como puedo continuar con posterioridad insertando registros en la misma ID, cuando se supone que la variable de sesion MM_Username me identifica el usuario.

Claro, luego no me las muestra en la cuenta del usuario.

.................................
Por otro lado tengo este codigo para mostrar mi imagen
Entiendo que la selecciona de la BD XXXXX y de la tabla clientes
Como puedo mandar para que me seleccione de esa tabla *Clientes(, los campos que necesito, por ejemplo para mostrar mi foto

<?php
$conectar = mysql_connect("localhost","XXXXXXXXXXXX","XXXXXXXX X");
$bd = mysql_select_db("XXXXXXX");

$verificar = mysql_query("SELECT * FROM clientes");

$numeros = mysql_num_rows($verificar);
if($numeros <= 0)
{
echo "No se han encontrado imagenes";
}
else {
echo "<br/>Estas son las imagenes encontradas:<br/>";
while($imagen = mysql_fetch_array($verificar))
{
echo "<br/>";
echo '<center><img style:"height=259" width="194" src="'.$imagen['url'].'"></center><br/>';
}
}
?>

  #6 (permalink)  
Antiguo 25/11/2010, 13:06
Avatar de alejandra_plana  
Fecha de Ingreso: noviembre-2010
Ubicación: Madrid
Mensajes: 25
Antigüedad: 14 años
Puntos: 2
Respuesta: Guradar URL de foto en BD

no sé como estarás insertando la nueva foto, pero si está en la misma tabla debería ser algo como

Código SQL:
Ver original
  1. "update clientes set imagen='$imagen' where id_cliente='$cliente'"


para seleccionar la imagen igual

Código SQL:
Ver original
  1. "select imagen from clientes where id_cliente='$cliente'"
  #7 (permalink)  
Antiguo 25/11/2010, 14:51
 
Fecha de Ingreso: mayo-2010
Mensajes: 43
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Guradar URL de foto en BD

Alejandra ... te daría un "achuchon" si te tuviera aqui ... jajaja. muchas gracias.
  #8 (permalink)  
Antiguo 25/11/2010, 14:56
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 14 años, 2 meses
Puntos: 45
Respuesta: Guradar URL de foto en BD

Cita:
Iniciado por NAVYGAR Ver Mensaje
Alejandra ... te daría un "achuchon" si te tuviera aqui ... jajaja. muchas gracias.
jaja!!que es achuchon? suena raro
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #9 (permalink)  
Antiguo 26/11/2010, 02:48
 
Fecha de Ingreso: mayo-2010
Mensajes: 43
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Guradar URL de foto en BD

Achuchón en españa es como un abrazo cariñoso por la ayuda jejeje ...

Las fotos las inserto desde un formulario con el campo de archivo correspondiente.
y éste es el código de subida y mostrado posterior de la foto.
Ayer por la noche pensé que lo tenia pero estaba cansado y no lo probé, y ahora no se como hacerlo.
Perdonad mi ignorancia pero como tengo que ponerlo.

<?php

if(!is_uploaded_file($_FILES['imagen']['tmp_name']))
{
echo "Error al subir archivo";
}
else {
$conectar = mysql_connect("localhost","XXXXXXXXX","XXXXXXXX");
$bd = mysql_select_db("XXXXXXXX");
$nombre = explode(".",$_FILES['imagen']['name']);
$peticion = mysql_query("INSERT INTO clientes(nombre,url)
VALUES('".$nombre[0]."','subidas/".$_FILES['imagen']['name']."')") or die(mysql_error());
move_uploaded_file($_FILES['imagen']['tmp_name'],"subidas/".$_FILES['imagen']['name']);

$verificar = mysql_query("SELECT * FROM clientes ORDER BY id_cliente DESC LIMIT 1");

$numeros = mysql_num_rows($verificar);
if($numeros <= 0)
{
echo "No se han encontrado imagenes";
}
else {
echo "<br/>Esta es tu imagen:<br/>";
while($imagen = mysql_fetch_array($verificar))
{
echo "<br/>";
echo '<img src="'.$imagen['url'].'"><br/>';
}
}
}
?>
  #10 (permalink)  
Antiguo 26/11/2010, 11:39
Avatar de alejandra_plana  
Fecha de Ingreso: noviembre-2010
Ubicación: Madrid
Mensajes: 25
Antigüedad: 14 años
Puntos: 2
Respuesta: Guradar URL de foto en BD

Hola!!! a ver si te puedo ayudar...

entiendo que la foto y los registros se guardan bien, y que el problema es mostrar la imagen que acabas de guardar, no??

intenta esto y me cuentas...

Código PHP:
$id=mysql_insert_id($conectar);//así calculas el último id añadido
$sql="SELECT * FROM clientes WHERE id=$id";
$verificar=mysql_query($sql,$conectar);
if(
$imagen=mysql_fetch_array($verificar))
{
    echo 
"<br>esta es tu imagen:<br>";
    echo 
"<img src='".$imagen['url']."'><br>";
}else{
    echo 
"no se han encontrado imágenes";

  #11 (permalink)  
Antiguo 26/11/2010, 11:55
 
Fecha de Ingreso: mayo-2010
Mensajes: 43
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Guradar URL de foto en BD

El formulario de registro me inserta los datos en la tabla clientes (Menos las fotos). porque no lo pido inicialmente.

Las fotos las intento insertar desde un enlace de la cuenta del cliente que dice "Subir imagenes" y me da acceso a una pagina con el campo de archivo para subirla.

Cuando selecciona la imagen y la sube bién (En su carpeta), guarda el nombre y la ruta tambien en la BD pero la inserta con un registro (Id) diferente, es decir, crea una nueva id en la tabla cliente diferente al id del usuario.
Por lo tanto la foto va a un campo diferente y no la puedo relacionar con el usuario.

Como puedo hacer para que cuando el usuario pulse en subir imagen (en otra pagina), me guarde la imagen que suba en el campo correspondiente a la Id del usuario de la cuenta, y no me cree nuevo registros o la inserte en otra id diferente.

Gracias por tu paciencia. pero llevo toda la semana mirando cosas y estoy medio loco ya.
  #12 (permalink)  
Antiguo 26/11/2010, 12:19
Avatar de alejandra_plana  
Fecha de Ingreso: noviembre-2010
Ubicación: Madrid
Mensajes: 25
Antigüedad: 14 años
Puntos: 2
Respuesta: Guradar URL de foto en BD

Vale, pues cuando diriges al cliente a la página para subir imágenes, hazlo así
Código PHP:
"editarplanta.php?id=<?php echo $id;?>"
siendo $id la id del cliente. Así lo pasas vía GET a la página para subir imágenes y una vez ahí, subes la ruta o lo que quieras con la condición del id:
Código PHP:
Ver original
  1. $sql="update clientes set url='$imagen' where id_cliente='".$_GET['id']."'";

Inténtalo y me cuentas.
  #13 (permalink)  
Antiguo 26/11/2010, 13:00
 
Fecha de Ingreso: mayo-2010
Mensajes: 43
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Guradar URL de foto en BD

Gracias alejandra, todo el dia voy mirando el tema y creo que estaba encaminado a lo que me cuentas pero hay tantas cosas y cad cual lo cuenta a su forma que no me aclaraba como pasar la id ...
lo probaré todo lo que me has dicho y te digo.
Gracias.
  #14 (permalink)  
Antiguo 29/11/2010, 08:55
 
Fecha de Ingreso: mayo-2010
Mensajes: 43
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Guradar URL de foto en BD

Alguien me podría decir que le falta al código del post 9 para que cuando se ejecute me inserte la foto tomando la id del registro de usuario que ya existe en lugar de hacerlo en un registro nuevo ??
Muchas gracias.

Tengo un formulario que me sube la foto correctamente pero los datos de la foto me los inserta en un registro nuevo a pesar de que le subo la id mediante el formulario
de esta forma ... form.php?id= <? echo $id ?>
  #15 (permalink)  
Antiguo 29/11/2010, 09:11
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 14 años, 2 meses
Puntos: 45
Respuesta: Guradar URL de foto en BD

no se si he entendido bien, pero si ya tienes el ID del usuario en cuestion debes hacer un UPDATE en vez de INSERT...

Cita:
de esta forma ... form.php?id= <? echo $id ?>
Asi como lo tienes aca recuperas el ID con $_GET y haces el query que te digo...
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x

Etiquetas: bd, foto, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:52.