Foros del Web » Programando para Internet » PHP »

Imagenes en Php y Mysql

Estas en el tema de Imagenes en Php y Mysql en el foro de PHP en Foros del Web. Hola mestros: quiero preguntarles como puedo iniciar con imagenes en una base de datos y como puedo mostrarla usando php. quisiera saber como declaro mis ...
  #1 (permalink)  
Antiguo 18/09/2003, 11:39
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Imagenes en Php y Mysql

Hola mestros:

quiero preguntarles como puedo iniciar con imagenes en una base de datos y como puedo mostrarla usando php.

quisiera saber como declaro mis campos:

digamos que yo tengo una tabla en la cual yo tengo 2 campos:

Nombre y Foto

como la tengo que declarar:

create table Empleados (Nombre char(30), Foto ?);

y como puedo una vez creada mi tabla, insertarle una imagen , y despues mostrarla.

espero me puedan ayudar .

gracias por todo.
  #2 (permalink)  
Antiguo 18/09/2003, 12:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes guardar tu imagen de dos formas:

1) sólo la referencia de la ruta hacia donde esté tu imagen en tu sistema de archivos .. En este caso el tipo de campo en tu BD será un simple VARCHAR o de tipo string (cadena de caracteres) en sí.

2) Subiendo y almacenando en modo Binario completamente el archivo en ese campo .. En este caso sería tu campo de tipo BLOB o similar (binario).

El proceso que debes hacer en ambos casos es el siguiente:
1) subir tu archivo al servidor .. Quedará temporalmente en un directorio especificado en la configuración de tu servidor (php.ini).

2) mover a su destino definitivo el archivo .. ya sea hacia un directorio o copiarlo hacia el campo de la BD ..

Entre esos procesos (al entrar al punto (2) ) .. es donde creas tu registro de tu BD con los dtos que necesites y/o almacenas la referencia del nombre del archivo si así lo decides ..

Yo mismo dejé en el foro un tutorial sobre el punto 2) (almacenando el archivo en modo binario) ..La técnica es similar para dejar tu archivo en un directorio de tu servidor...

Puedes verlo en:
http://www.forosdelweb.com/showthrea...hreadid=127775

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 18/09/2003, 13:08
Avatar de tonacho69  
Fecha de Ingreso: agosto-2003
Mensajes: 30
Antigüedad: 20 años, 8 meses
Puntos: 0
Hola payo22.
Para guardar una imagen en Mysql puedes usar dos métodos, uno es creando un campo tipo BLOB, donde se guarda la imagen y otra es crear un campo tipo varchar donde guardes la ruta de la imagen. Lo más recomendable es usar el campo VARCHAR, ya que las tablas con campos tipo BLOB son más lentas a la hora de buscar datos.

Para crear la tabla sería:

CREATE DATABASE IF NOT EXIST mi_db;

USE mi_db;

CREATE TABLE empleados (
id BIGINT NOT NULL auto_increment,
nombre VARCHAR(80),
foto VARCHAR(200),
PRIMARY KEY(id));

Luego para mostrar la imagen de un empleado, por ejemplo:

Código PHP:
<?
// Definimos las variables
$base_datos "mi_db";
$direccion_bd "mi_servidor";
$usu_bd "mi_usuario_mysql";
$pass_bd "mi_password_mysql";

//Conectamos
$conexion = @mysql_connect ("$direccion_bd","$usu_bd","$pass_bd") or die ("No se puede conectar a la Base de Datos"); 

//Seleccionamos la base de Datos
$seleccion mysql_select_db("$base_datos");

/*Hacemos la consulta a la base de datos para recuperar el nombre del primer empleado*/
$consulta "SELECT * FROM empleados WHERE id=1";
$resultado mysql_query($consulta);
$fila mysql_fetch_array($resultado);

//Ahora mostramos la foto
echo "<img src=\"".$fila['foto']."\">";
?>
Espero haberte ayudado.
__________________
¿Cuantos Ingenieros de Microsoft hacen falta para cambiar una bombilla?
Ninguno porque declararían Oscuridad (TM) como el standard de la industria

Tonacho Linux User #393280
Tonachadas.com
Tu web de humor!!!
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 (incluyéndote)




La zona horaria es GMT -6. Ahora son las 09:06.