Foros del Web » Programando para Internet » PHP »

Subir fotos a base de datos con PHP

Estas en el tema de Subir fotos a base de datos con PHP en el foro de PHP en Foros del Web. Hola, a todos. Me podrían explicar cómo subir imágenes a una base de datos a través de PHP, necesito esto para que mis usuarios puedan ...
  #1 (permalink)  
Antiguo 29/07/2013, 07:24
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Subir fotos a base de datos con PHP

Hola, a todos. Me podrían explicar cómo subir imágenes a una base de datos a través de PHP, necesito esto para que mis usuarios puedan subir su foto de perfil, ya que hasta ahora solo se cómo subir datos, a sus registros.

Me explico: El usuario al finalizar su registro, ingresa a su perfil y se encuentra con un botón que dice "Subir foto de perfil", hasta aquí hecho; ahora bien, ¿Cómo tengo que hacer, para seleccionar una imagen del PC y subirla a la BD?.

PD: Me han recomendado que no suba la imagen a base de datos (que lo deje para datos ), sino que la suba a el servidor a una carpeta para imágenes; ¿Qué les parece esto, estará bien de esta forma?

Gracias a todos por sus respuestas.

Última edición por jorgemibanez; 29/07/2013 a las 07:32
  #2 (permalink)  
Antiguo 29/07/2013, 07:59
darkhack3r22
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Subir fotos a base de datos con PHP

Mejor te guardas la url de la foto que suba en la base de datos.
  #3 (permalink)  
Antiguo 29/07/2013, 15:38
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Subir fotos a base de datos con PHP

Guardo la URL o la foto en la base de datos???
  #4 (permalink)  
Antiguo 29/07/2013, 17:25
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Subir fotos a base de datos con PHP

Guarda únicamente el NOMBRE de la foto, en tu archivo PHP retomas el nombre y generas la URL que enviarás al navegador, eso da flexibilidad por si cambias la ubicación de la carpeta...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 29/07/2013, 22:23
 
Fecha de Ingreso: julio-2013
Ubicación: San Cristobal
Mensajes: 12
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Subir fotos a base de datos con PHP

Dicho de manera mas explicada:

1. Sube la foto y la guardas en una carpeta en el servidor, no la guardes en una base de datos directamente pues es mas complicado y menos flexible.

2. Guarda una referencia de dicha foto en la base de datos, es decir, si la foto la guardaste en la carpeta /img/01.png, tendrias una tabla mas o menos asi:

columnas:
ID
nombre
path

Entrada
1
Mi foto
/img/01.png

Entonces, si quieres mostrar dicha foto, en otra pagina, ejecutas una consulta sobre la base de datos, con la que obtienes la carpeta donde se encuentra la foto, y creas el tag:

echo '<img src="' . $URL_BASE . $img['path'] . '" alt="' . $img['nombre'] . '" />

donde $URL_BASE es la raiz de la pagina web.

Saludos
  #6 (permalink)  
Antiguo 29/07/2013, 23:49
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Subir fotos a base de datos con PHP

eso que te ha dicho DanielRs suena muy bien pero, digo yo, no te sería mejor no guardar ninguna foto en el servidor, quiero decir, en vez de decirle al usuario que suba su foto le dices que ponga un enlace de una foto directamente y asi te ahorras el rollo de enviar la foto a la carpeta en el servidor etc, asi guardas solo el nombre de la imagen en la base de datos y al abrir dicha foto solo tendras que hacerlo con un <img src=...
nose si me explico bien xD
Un saludo.
  #7 (permalink)  
Antiguo 30/07/2013, 04:55
darkhack3r22
Invitado
 
Mensajes: n/a
Puntos:
Mensaje Respuesta: Subir fotos a base de datos con PHP

Cita:
Iniciado por Nass Ver Mensaje
eso que te ha dicho DanielRs suena muy bien pero, digo yo, no te sería mejor no guardar ninguna foto en el servidor, quiero decir, en vez de decirle al usuario que suba su foto le dices que ponga un enlace de una foto directamente y asi te ahorras el rollo de enviar la foto a la carpeta en el servidor etc, asi guardas solo el nombre de la imagen en la base de datos y al abrir dicha foto solo tendras que hacerlo con un <img src=...
nose si me explico bien xD
Un saludo.
xD, pero no es seguro. Te imaginas que facebook hiciera eso? Y si borran el archivo del link??
  #8 (permalink)  
Antiguo 30/07/2013, 05:00
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Subir fotos a base de datos con PHP

pero directamente no hay archivo, simplemente guardas el link de la foto en la base de datos y para visualizarla lo haces con img src=... no guardas una imagen en el servidor sino que la sacas de internet xD
Un saludo.
  #9 (permalink)  
Antiguo 30/07/2013, 05:04
darkhack3r22
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Subir fotos a base de datos con PHP

Cita:
Iniciado por Nass Ver Mensaje
pero directamente no hay archivo, simplemente guardas el link de la foto en la base de datos y para visualizarla lo haces con img src=... no guardas una imagen en el servidor sino que la sacas de internet xD
Un saludo.
Ya, pero suele pasar bastante que borren no el archivo, si no la url(A donde la van a subir??)... Ademas estas obligando a tus usuarios que suban sus fotos de perfil directamente a internet. Van a tener miedo a tu red social xD!
  #10 (permalink)  
Antiguo 30/07/2013, 06:06
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 9 meses
Puntos: 21
Respuesta: Subir fotos a base de datos con PHP

¿Revisaste el apartado donde aparecen los aportes hechos por esta comunidad?
  #11 (permalink)  
Antiguo 30/07/2013, 21:55
Avatar de Nass  
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 34
Antigüedad: 10 años, 9 meses
Puntos: 2
Respuesta: Subir fotos a base de datos con PHP

jaja también es verdad, no había pensado en que puedan borrar la url, le comenté esa opción porque en clase nos mandaron hacerla así y era por aportar ideas xD
Un saludo!

Última edición por Nass; 30/07/2013 a las 22:01
  #12 (permalink)  
Antiguo 31/07/2013, 10:34
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Subir fotos a base de datos con PHP

..............Y ¿Cómo subo la foto a una carpeta en el servidor y que ésta quede relacionada a su usuario propietario para que al ingresar salga en su perfil?
  #13 (permalink)  
Antiguo 31/07/2013, 11:26
darkhack3r22
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Subir fotos a base de datos con PHP

Cita:
Iniciado por jorgemibanez Ver Mensaje
..............Y ¿Cómo subo la foto a una carpeta en el servidor y que ésta quede relacionada a su usuario propietario para que al ingresar salga en su perfil?

Pero hombre, para hacer estas cosas tienes que investigar un poco antes xD. Yo te puedo ayudar perp mas en concreto.!!
  #14 (permalink)  
Antiguo 02/08/2013, 08:58
jorgemibanez
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Subir fotos a base de datos con PHP

Cita:
Iniciado por darkhack3r22 Ver Mensaje
Pero hombre, para hacer estas cosas tienes que investigar un poco antes xD. Yo te puedo ayudar perp mas en concreto.!!
Bueno, he leído en los aportes sobre este mismo tema, pero es que estoy algo confundido, solo respóndeme una pregunta, si a través de un formulario, ejemplo:

(Algo sencillo)

<form action="upload.php" method="post" enctype="multipart/form-data">
Foto: <input name="file" type="file">
<input name="submit" type="submit" value="Subir foto de perfil">
</form>

....subo una foto a una carpeta en el servidor (en upload.php se encuentra el código que fija la carpeta de destino) llámese "Fotos de Perfil", ¿Cómo hago para llamarla y que aparezca en el perfil del usuario?, subirla se hacerlo, pero llamar una en específico que corresponde solo a un usuario, habrían tantas de tantos usuarios.
  #15 (permalink)  
Antiguo 02/08/2013, 09:15
Avatar de alealvaro  
Fecha de Ingreso: junio-2004
Ubicación: BA - Argentina
Mensajes: 210
Antigüedad: 19 años, 10 meses
Puntos: 12
Respuesta: Subir fotos a base de datos con PHP

Hola!
Te cuento, lo que puedes hacer es: teniendo en cuenta que el archivo, una vez subido, tiene un nombre... ese nombre lo guardas en la db de manera que esté vinculado con el usuario.

Por ejemplo: en la base de datos podrías tener una tabla:
IMAGENES
Id
nombre_imagen
usuario_id
tipo_imagen --> tal vez un enum para diferenciar ('foto_perfil', 'fondo', 'portada', etc...)

Y así, podrías recuperar el nombre de la imágen según el id del usuario y el tipo de imagen que necesites, y solo le agregar el resto del path hacia el directorio donde se encuentra la imágen, en el src del tag img.

Espero haberme explicado bien :P

Saludos!!
__________________
Always learning a little more...
Videos y frases para dedicar
Quotes and Phrases for You

Etiquetas: html, mysql, sesiones
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




La zona horaria es GMT -6. Ahora son las 05:54.