PHP - como guardo imagen en bd???????

 
Vista:

como guardo imagen en bd???????

Publicado por maryjo (1 intervención) el 01/09/2006 14:25:37
hola a todos tengo un fornulario que muestra la hoja de vida del empleado de una empresa y ahora me piden que en esa hoja se cargue la foto de ese empleado, es decir yo coloco la cedula y el me muestra todos los datos con un accion buscar como hago para q al cargar los datos traiga la foto de ese empleado y donde y como la debo almacenar???????????? no tengo idea???????????
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como guardo imagen en bd???????

Publicado por carlos (1 intervención) el 01/09/2006 21:02:51
Lo q debes hacer es guardar en la bd el nombre de la foto, y luego enrutar desde php... para eso debes crear tu directorio raiz.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como guardo imagen en bd???????

Publicado por Mike79 (669 intervenciones) el 02/09/2006 04:59:49
Santos enredos batman.
¿Que es eso de directorio raíz?.

Con todo respeto compañero, a veces mis explicaciones son enredadas, pero las tuyas aveces tambien lo son.

Aver maryjo, la forma más fácil es crear en tu formulario un campo file y luego recibirlo en un archivo php, para guardarlo en una carpeta de tu servidor.

En esta dirección encontraras información detallada de como hacerlo:
http://www.php.net/manual/es/features.file-upload.php

Luego en tu base de datos, solo insertas la dirección donde se va a encontrar la imagen que vas a mostrar. Por ejemplo, si guardaste las imagenes en tu carpeta de página web, en una carpeta llamada imagenes-vitae, la ruta de tu imagen seria algo así como: /imagenes-vitae/imagen.jpg

Bueno, la otra forma, es leer el archivo y guardarlo directamente en la base de datos. Pero te aconsejo ampliamente la forma sencilla, ya que tu base de datos crece mucho.

Espero averte ayudado
Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como guardo imagen en bd???????

Publicado por maryjo (1 intervención) el 04/09/2006 21:15:52
yo hice esto <img src="imagenes<?=$foto;?>"></td> y en la tabla empleado coloque un campo foto donde a cada empleado le coloq su ruta de foto osea si ci=1 foto= /imagen/1.jpeg y no se q esta mal o si falta algo mas porq no corre solo me aparece una X
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como guardo imagen en bd???????

Publicado por Mike79 (669 intervenciones) el 05/09/2006 18:22:09
Por lo que dices las imagenes estan en la carpeta imagenes/imagen/1.jpeg
Revisa que efectivamente, la imagen esta ahi.
Dentro de la carpeta donde esta el archivo .php debe existir una carpeta llamada imagenes, dentro otra que se llama imagen y dentro un archivo llamado 1.jpeg.

Si no es así, entonces tu codigo esta mal.
Revisalo y si tienes duda, pregunta de nuevo.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como guardo imagen en bd???????

Publicado por maryjo (8 intervenciones) el 05/09/2006 20:18:42
hola mike gracias por escribir porq aun no logro mostrar la foto, yo estoy trabajando con php apache y en esta ruta C:\apache\htdocs\imagenes\ tengo las fotos de los empleados (1.jpeg, 2.jpeg....etc.) de la empresa a la q estoy realizando el sistema y quieren q cada vez q busq los datos de un empleado en particular me cargue su respectiva foto osea es como una hoja d vida.. yo guarde esa ruta en un campo de la tabla empleado llamado foto, es decir la cedula=1 tiene en el campo foto C:\apache\htdocs\imagenes\ 1.jpeg esa ruta y en el php donde muestro los datos del empleado tengo esto <img src="<?=$foto;?> "/> pero no muestra nada solo una X ayudame por fa aunq sea dime cual crees q sea el error....ah y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como guardo imagen en bd???????

Publicado por Mike79 (669 intervenciones) el 05/09/2006 22:21:57
Aver conceptos basicos:

1.- Ruta Relativa.- Es la dirección de un documento respecto a otro.
Por ejemplo si tienes www.tuservidor.com/carpetax/miarchivo1.html
Y las imagenes estan en: www.tuservidor.com/carpetax/imagenes/img1.jpg
Entonces la ruta relativa que pondrias en miarchivo1.html seria:
src="imagenes/img1.jpg"

Es decir, es la posición del archivo con respecto a otro.

2.- Ruta Absoluta.- Es la dirección completa de la imagen, incluye el protocolo, ejemplo:
http://www.tuservidor.com/carpetax/imagenes/mig1.jpg

3.- Ruta Real del Archivo.- Es la posición real donde se encuentra el archivo. No tiene nada que ver con la url. Ejemplo:

http://www.tuservidor.com/carpetax/imagenes/mig1.jpg
Podria estar en windows en:
c:\apache\htdocs\carpetax\imagenes\img1.jpg
Y en linux seria algo así como:
/var/www/html/carpetax/imagenes/img1.jpg

----------------------
Por consiguiente, tu debes poner en la dirección de imagen, la ruta relativa o absoluta de la imagen. Pero nunca la dirección real de la imagen. De lo contrario te marcaria una espantosa X.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como guardo imagen en bd???????

Publicado por maryjo (8 intervenciones) el 05/09/2006 22:34:03
eso ya lo se no soy tan bruta solo q si lo coloco de esa manera siempre va a cargar la misma foto src="imagenes/img1.jpg" porq ya le he dado el nombre por ello habia usado la variable $foto porq sino la mostraria siempre sin importar la cedula y eso no es lo q quiero ah yo tengo las imagenes en una carpeta en C en la pc donde se ejecuta el sistema...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como guardo imagen en bd???????

Publicado por carlos (1 intervención) el 06/09/2006 16:37:23
jajaja... a eso me refería con carpeta raiz... aveces las personas creen saberlo todo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como guardo imagen en bd???????

Publicado por Mike79 (669 intervenciones) el 08/09/2006 14:28:33
Para mi esa explicación de: "Necesitas crear du directorio raiz".
No explica absolutamente nada.

Sobre todo, por que yo puedo tener las imagenes en el / de mi sitio junto con los archivos de php todos revueltos si quiero, y el sistema funcionara perfectamente.

Tambien puedo incrustar las imagenes dentro de la base de datos, y sacarlas con un php, y no tener un directorio donde esten guardadas las imagenes.

Pero bueno.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como guardo imagen en bd???????

Publicado por Mike79 (669 intervenciones) el 08/09/2006 14:26:02
Talvez no me explique bien.
No sirve que las tengas en c:\ donde deben estar es dentro de la carpeta de apache, para que se puedan ver desde cualquier navegador.

Si tu arrojas algo así
src="$ruta";

Y la variable $ruta contiene: c:\micarpeta\mifoto.jpg
Eso no sirve de nada.

Ahora bien, en un post anterior comentabas que tus imagenes estan en:
C:\apache\htdocs\imagenes\
Entonces lo que debes mandar es algo así como
src="/imagenes/".$datos['NumEmpleado'].".jpg";

Claro que si ya tienes ese número en una variable podria ser:
src="/imagenes/$empleado.jpg";

Intentalo, y si tienes problemas pregunta de nuevo.
-
Saludos
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como guardo imagen en bd???????

Publicado por maryjo (8 intervenciones) el 08/09/2006 15:53:36
hola mike diras q soy una bruta o q no se nada de php porq por lo que veo estas sobrado en el tema hice lo que me dijiste gracias por responder y no abandonarme en mis intentos...yo tenia antes esto <img src="<?=$foto;?>" /> para mostrar la imagen y me generaba una X ahora lo modifique y deje lo q me indicaste arriba src="/imagenes/$empleado.jpg"; yo no comprendi muy bien q contiene esa var empleado q me colocast yo imagino que es el id del empleado porq segun el id va la foto y coloque src="/imagenes/$ci.jpg"; y me sigue saliendo la X .........creo q es porq no entendi q valor identifica a esa var... gracias y disculpa el fastidio soy principiante y php me tiene desesperada...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como guardo imagen en bd???????

Publicado por kris (1 intervención) el 07/09/2006 16:48:27
Hola!!!
Estoy haciendo un proyecto,.. y tengo una duda,.. haber si me la podriais solucionar...
tengo una sección de cursos sobre el que se puede consultar la disponibilidad de este,.. a la hora de que un usuario seleccione la reserva de dicho curso necesito insertar en la base de datos que las plazas libres que tengo de ese curso se aumentaron en uno y no tengo ni idea como poner eso....
me podriais ayuda???
Gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como guardo imagen en bd???????

Publicado por Mike79 (669 intervenciones) el 08/09/2006 14:36:32
Kris, por favor evita poner post como respuestas de otro post.

Es mejor crear un post nuevo directamente en el foro principal de php.

Con respecto a tu problema ¿Se aumentaron en uno o se disminuyeron en uno?.

Bueno, la forma normalmente de hacerlo es hacer un select para obtener el número de plazas. Y luego sumar (o restar), uno para luego guardar el dato de nuevo.

Si vas a tener pocas personas inscribiendose al mismo tiempo, no hay problema, pero si tienes pensado tener a mas de 1 persona al mismo tiempo, podrias tener un pequeño problema de concurrencia.

Imagina que se inicia un proceso de php, y casi simultaneamente se inicia otro.
El primer proceso obtiene el dato de la base de datos, y casi en seguida el otro tambien lo obtiene, para entonces el primero ya guardo el nuevo número en la tabla, pero el segundo apenas lo esta guardando. Obviamente los dos guardarian el mismo número. Y ni siquiera tuvo que ser exactamente al mismo tiempo. Si vas a tener a muchas personas inscribiendose al mismo tiempo, eso ocurrira tarde o temprano.

Así que la solución mas elegante, es sobre la tabla de personas inscritas, hacer un count, para cada curso, y ver cuantas van inscritas. Y así no importa que se inscriban varios al mismo tiempo, tu información no se corromperia, por que siempre calcularias en tiempo real cuantos cupos hay.

No se si me explique.
Si tienes dudas, te invito a que crees un nuevo post.
Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar