Foros del Web » Programando para Internet » PHP »

Como meter imagenes en PHP?

Estas en el tema de Como meter imagenes en PHP? en el foro de PHP en Foros del Web. Mi pregunta es sencilla para todos ustedes. Tengo una base de datos en MYSQL, y he visto en otras paginas que se pueden meter imagenes, ...
  #1 (permalink)  
Antiguo 12/11/2002, 08:42
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1
Antigüedad: 15 años, 1 mes
Puntos: 0
Como meter imagenes en PHP?

Mi pregunta es sencilla para todos ustedes.
Tengo una base de datos en MYSQL, y he visto en otras paginas que se pueden meter imagenes, es decir, en cada registro que ademas de aparecer los datos, aparezca una foto especifica.
¿Alguien puede decirme los pasos a seguir?, si es un campo especial, que tipo, como subirla,etc.
Si no se puede metiendo la foto en la propia base de datos, entonces en ese caso. ¿puede alguien decirme como hago para que con un registro, salga una foto especifica?.
Gracias, y esperemos que ahora no se borren los mensajes.
  #2 (permalink)  
Antiguo 12/11/2002, 11:37
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 15 años, 1 mes
Puntos: 2
Bueno yo estoy con el mismo tema pero con una base de MSSQL2000 pero te puedo orientar un poco.
1- Presisas un script que te permita insertar la imagen en la base de datos haciendo un upload del fichero. Esto se hace con un tipo de formulario para uploads y un input de tipo file junto con otro oculto del tamaño máximo que permites. El script que recoge el formulario, debe hacer las comprobaciones oportunas antes de insertar en la base de datos. 2- Para mostrar las imágenes, precisarás algún tipo de formulario (con, por ejemplo un select) para que el usuario pueda seleccionar la imagen que desea. El script que recoge el formulario, lee la imagen de la base de datos y la muestra por pantalla. Para aclarar todas estas cuestiones leete la parte de Uploads del manual de PHP y en la web de php.net, en la que vienen bastantes ejemplos.
espero que te sirva esto mientras te busco unos pequeños ejemplos si es que te hace falta.

Salu2 y Suerte
  #3 (permalink)  
Antiguo 12/11/2002, 11:45
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 15 años, 1 mes
Puntos: 2
Si lo que quieres es que las imagenes estén completamente integradas en base de datos, necesitas lo siguiente:

Una tabla generada del siguiente modo:

Create table imagenes (id int not null auto_increment primary key ,nombre varchar(255) not null,contenido blob);

El modo de rellenar los datos es así:

....
$imagen="/tmp/ejemplo.gif";
// Se lee la imagen
$contenido=readfile($imagen,filesize($imagen));
// Se inserta en la base de datos
$res=mysql_query("Insert into imagenes (nombre,contenido) values ('".addslashes($imagen)."','".addslashes($contenid o)."')",$link);
// Se obtiene el id con el que se insertó
$id=mysql_insert_id();
....

Ahora ya tienes un registro en la tabla con un id único, el nombre y el contenido (los datos) de la imagen. Para mostrarla, precisas un poco de programación, ya que hay que extraerla de la base de datos. El SRC que muestra la imagen será algo así:

<img src=ver_imagen.php?id=2 border=3>

En donde ver_imagen.php es un script que extrae la imagen que se le pasa con el id, en este caso el 2. Por ejemplo será algo así:

// Primero se supone que abres una conexión a la base de datos
// Leemos el registro que corresponde con el id:

$res=mysql_query("Select * from imagenes where id=".$id."",$link);

if (mysql_num_rows($res)>0)
{
$row=mysql_fetch_array($res);
// Ahora comprobamos que tipo de imagen es según su extensión
$pos_punto=strrpos(".",$row[nombre]);
if ($pos_punto)
{
$tipo=substr($pos_punto+1,$row[nombre]);
switch(strtolower)
{
case "gif": $modo="image/gif\r\n";
break;
case "png": $modo="image/png\r\n";
break;
case "jpg"
case "jpeg": $modo="image/jpeg\r\n";
break;
}

// Ahora se envia la imagen al navegador con su tipo
echo "Content-Type: ".$modo;
echo $row[contenido];
}
}
}

y si me equivo espero que me corrijan Gracias
Saludos
  #4 (permalink)  
Antiguo 12/11/2002, 21:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Revisa este tutorial ...
http://www.devarticles.com/art/1/68

Se detalla como mediante un formulario subir la imagen a la base de datos .. obteniendo su tipo (MINE) correpondiente para luego leerlo y entregarselo al navegador segun corresponda ...

El código de Chuty deberia funcionar .. solo que el detalle q lee la imagen desde el sistema de ficheros del servidor. Es decir, antes deberiamos subir esa imagen a ese directorio (via FTP o HTTP Upload formulario) .. y borrar la imagen de ahí si en fin es tenerla solo en la base de datos y no por duplicado ...

Un saludo,
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 08:22.