Foros del Web » Programando para Internet » PHP »

Imagenes

Estas en el tema de Imagenes en el foro de PHP en Foros del Web. Hola a todos ;) , espero que alguien me pueda ayudar a solucionar mi problema. Lo que quiero hacer es insertar una imagen a la ...
  #1 (permalink)  
Antiguo 02/07/2002, 14:32
 
Fecha de Ingreso: enero-2002
Mensajes: 33
Antigüedad: 22 años, 2 meses
Puntos: 0
Imagenes

Hola a todos ;) , espero que alguien me pueda ayudar a solucionar mi problema. Lo que quiero hacer es insertar una imagen a la tabla de una Base de Datos, mi tabla es la siguiente:
create table Imagen(
IdImagen int(11) not null default '0' auto_increment,
Imagen blob,
primary key(IdImagen));

mi formulario es este:

<form action="insertar_imagen.php" method="post" name="miformu" enctype="multipart/form-data">
Imagen<input name="foto" type="file">
<p align="center">
<input type=submit name="subir" value="Subir Archivo">
</p>
</form>

este es mi programa donde inserta la imagen:

$conectar = mysql_pconnect ("$server","log","passw&q uot;)
or die ("No puedo conectarme con el servisor<p>");

$bdd = mysql_select_db("prensa",$conectar)
or die ("No puedo conectarme con la Base de Datos<p>");
$resultado = "Insert into imagenes(NomImagen)
values ('$foto')";

pero no inserta la imagen a la tabla unicamente me inserta algo como lo siguiente:
C:\WINDOWS\php24.tmp

lo cual es incorrectisimo, porque lo que yo quiero es insertar pero la imagen. ¿Alguien puede ayudarme a darle solucion a esto?. De antemano Gracias a los que puedan colaborarme. Bye ;)
  #2 (permalink)  
Antiguo 02/07/2002, 16:35
 
Fecha de Ingreso: mayo-2002
Mensajes: 20
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Imagenes

Hola
bueno, en MySQL no puedes insertar imagenes ni archivos nio nada por el estilo dentro de una base de datos, tampoco creo que ninguna otra base de datos lo soporte, solo texto, es decir, en el campo imagen queda insertado la direccion de donde sacaste el archivo, para insertarla debes usar la funcion copy() para que esta se almacene en el servidor y luego en la base de datos insertar la ruta de esta en el server, despues si quieres verla en una pagina pones en codigop de imagen en html y en src"" pones la direccion de esta segun este en tu base de datos.

Saludos



Gonzalo Castillo
  #3 (permalink)  
Antiguo 02/07/2002, 17:02
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 22 años, 6 meses
Puntos: 6
Re: Imagenes

Código:
 $conectar = mysql_pconnect ("$server","log","passw")
or die ("No puedo conectarme con el servisor<p>");
$bdd = mysql_select_db("prensa",$conectar)
or die ("No puedo conectarme con la Base de Datos<p>");
$resultado = "Insert into imagenes(NomImagen)
values ('$foto')";
Lo que necesitas es primero leer el archivo y luego insertarlo en la BD

Código:
$data = addslashes(fread(fopen($foto, "r"), filesize($foto)));
Posterior a esto el valor de $data es el que usas para alamcenar la imagen.

Saludos!.
Mty. NL.
  #4 (permalink)  
Antiguo 02/07/2002, 18:32
 
Fecha de Ingreso: enero-2002
Mensajes: 33
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Imagenes

Muchisimas gracias por contestar chicos, su orientacion me ha ayudado de mucho, ya me puse a hacer lo que sugiere Herminio, pero ahora lo que pasa es que cuando mando llamar al campo de la tabla no me despliega la imagen si no unos simbolos raros, como los siguientes:
GIF89a$³ÿÿÿíííþþþÒÒÒñññ
la llamada a la tabla lo hago de la siguiente forma:

$sql_foto = "SELECT NomImagen
FROM Imagenes
WHERE IdImagen=IdImagen";
$result_foto=mysql_query($sql_foto) or die("Error al ejecutar consulta");
$numero_filas_foto=mysql_num_rows($result_foto);

while ($fila = mysql_fetch_array($result_foto))
{
echo "<TR>\n";
echo "<TD>$fila[NomImagen]</TD>\n";
echo "</TR>\n";
}

Ho!!! ¿hay otra forma de que se llamen a las imagenes?, me pueden ayudar de nuevo. De nuevo Gracias. ;)
  #5 (permalink)  
Antiguo 03/07/2002, 10:28
 
Fecha de Ingreso: enero-2002
Mensajes: 33
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Imagenes

Chicos se que alguien me puede ayudar , ayuda please. Gracias ;)
  #6 (permalink)  
Antiguo 03/07/2002, 11:00
 
Fecha de Ingreso: marzo-2002
Ubicación: Guadalajara, Jalisco.
Mensajes: 213
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Imagenes

Yo digo que pongas en la celda el puro nomre de la imagen:

por ejemplo "imagen.jpg"

luego en tu consulta para desplegarla en un web puedes poner lo siguiente:

Y listo!

Código:
<img src=\"http://tuweb.com/" . $resultado['foto'] . "\">
Siempre con Amor

Edgar Castro
  #7 (permalink)  
Antiguo 03/07/2002, 11:59
 
Fecha de Ingreso: enero-2002
Mensajes: 33
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Imagenes

Hola chicos ;), Edgar ya lo hice como me sugieres pero al desplegarme me despliega pura basura, como la siguiente:
ÁB…»7Nà$B) §WZMͺ¹ólÒ*ma!„…·W@ÐœÆZ*r¨€ÑFÆâ;ä]ñ5V­ÏãËv½#Ç@pâ‹`WOR7@À¶qpYqàŒS€{„Í'á|Š! ÐBOÀð@u×Ѷÿ —B ,°°
y no el contenido de mi imagen y ademas no puedo poner directamente mi imagen nombre.jpg como sugieres, dado que yo traigo la imagen de una Base de Datos.
Pero gracias por tu colaboracion, ¿alguien mas puede darme ayuda o alguna idea de como solucionarlo?. Gracias.
  #8 (permalink)  
Antiguo 03/07/2002, 12:00
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Imagenes

Se me ocurre que eso no va a funcionar asi..
Creo que lo que tenes que hacer es, usando GD (libreria para imagenes) tenes que hacer un script aparte, que se llame por ejemplo imagen.php
Haces que este script reciba el nombre de la foto:
imagen.php?imagen=foto.gif
Y en ese script retreiveas los datos de la base de datos, y usando header() mandas cabeceras para imagen:
header(content-type:image/gif);
y luego en tu pagina donde se ven las fotos haces <image src=imagen.php?imagen=foto.gif>
Y eso pone la imagen...
No es muy preciso lo que te digo jejej pero si no me equivoco fue el amigo JLM el q escribio sobre esto, busca en su pagina www.jlmnetwork.com que alli explica algo de esto...
Saludos

<div align="center"><img src="http://cablemodem.fibertel.com.ar/sainztrapaga/images/firma.jpg" width="435" height="70" border="0">
</div>
  #9 (permalink)  
Antiguo 03/07/2002, 13:03
 
Fecha de Ingreso: enero-2002
Mensajes: 33
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Imagenes

No funciona :( , ¿porque? , ayuda please. .
Vamos se que alguien puede orientarme. ;)
  #10 (permalink)  
Antiguo 03/07/2002, 16:01
 
Fecha de Ingreso: noviembre-2001
Mensajes: 108
Antigüedad: 22 años, 5 meses
Puntos: 2
Re: Imagenes

bueno todo por caifanes jejeje...

pos mi mano el cuento es el siguiente , yo de ti no trataria de insertar imagenes en la bd serria algo complocado y ademas poco tecnico, yo subiria a una carpeta las imagenes y en l base de datos enviaraia la ruta de donde eta la imagen creo que es lo mas sano o bueno eso depende de para que quieres utilizar este tipo de cosa.

buoeno creo que eso es lo bueno.
un saludo raza
  #11 (permalink)  
Antiguo 03/07/2002, 17:19
 
Fecha de Ingreso: enero-2002
Mensajes: 33
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Imagenes

Ok, ri_mauro si entiendo lo que me sugieres pero para mi caso es indispensable que se inserte directamente la imagen a la Base de Datos. Gracias por colaborarme ;) .
Volviendo a mi problema ya lo intente con la funcion fopen y tampoco me despliega la imagen unicamente basura.
Por favor ayudenme a resolverlo.
Gracias. :)
  #12 (permalink)  
Antiguo 03/07/2002, 17:55
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Imagenes

te comento letslie que antes de insertar a la BD usaste addslashes.. O sea que para sacarlo tenes que usar stripslashes, si no me equivoco...
Y igualmente vas a tener que buscar lo de las cabeceras que te decia y investigar un poco, porque sin eso, no hay manera
Saludos :P

<div align="center"><img src="http://cablemodem.fibertel.com.ar/sainztrapaga/images/firma.jpg" width="435" height="70" border="0">
</div>
  #13 (permalink)  
Antiguo 04/07/2002, 10:06
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Imagenes

Letslie, tengo entendido que nuestro amigo Herminio trabaja sobre linux, por lo que la linea :
Cita:
$data = addslashes(fread(fopen($foto, &quot;r&quot;), filesize($foto)));
está bien para él, pero si tu estás trabajando bajo Windows, debería ser :
Cita:
$data = addslashes(fread(fopen($foto, &quot;rb&quot;), filesize($foto)));
O sea, abrir la imagen en modo Binario.

Además, lo que decía gomo está correcto, si quieres mostrar la imagen, tendás que hacer un script.php que lea el contenido de la base de datos, y luego de hacer un :
Header(&quot;Content-type: image/gif&quot;);

haga un echo del contenido de la imagen.

Otro consejo, cuando haces el File Upload, dentro de $foto_type viaja el tipo MIME de la imagen, que puedes guardar para luego hacer en Header();

Saludos.
  #14 (permalink)  
Antiguo 08/07/2002, 13:35
 
Fecha de Ingreso: enero-2002
Mensajes: 33
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Imagenes

Hola chicos ;), necesito de nuevo su ayuda, el problema que tengo ahora es que me despliega ahora la supuesta imagen pero sin nada esto es, un cuadro y dentro de este una x pero no la imagen, mi codigo es el siguiente:
&lt;HTML&gt;
&lt;HEAD&gt;&lt;TITLE&gt;Insertar Imagen&lt;/TITLE&gt;&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;?
if($submit){//codigo que se ejecuta si se presiono el botón submit
MYSQL_CONNECT(&quot;$a&quot;,&quot;b&quot;,&quot;c &quot;);
mysql_select_db(&quot;prensa&quot;);
$data = addslashes(fread(fopen($form_data, &quot;r&quot;), filesize($form_data)));
$result=MYSQL_QUERY(&quot;INSERT INTO Imagenes(NomImagen) &quot;.
&quot;VALUES('$data')&quot;);
$id= mysql_insert_id();
print&quot;&lt;p&gt;Database ID: &lt;b&gt;$id&lt;/b&gt;&quot;;
MYSQL_CLOSE();
}
else
{// sino mostrar el formulario para nuevos datos:
?&gt;
&lt;form method=&quot;post&quot; action=&quot;&lt;?php echo$PHP_SELF;?&gt;&quot;enctype=&quot;multipart/form-data&quot;&gt;
&lt;INPUT TYPE=&quot;hidden&quot; name=&quot;MAX_FILE_SIZE&quot; value=&quot;1000000&quot;&gt;
&lt;br&gt;File to upload/store in database:&lt;br&gt;&lt;input type=&quot;file&quot; name=&quot;form_data&quot; size=&quot;40&quot;&gt;&lt;p&gt;
&lt;input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;submit&quot;&gt;&lt;/form&gt;
&lt;?
}?&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;
&lt;?
if($id){
@MYSQL_CONNECT(&quot;$a&quot;,&quot;b&quot;,&quot; c&quot;);
@mysql_select_db(&quot;prensa&quot;);
$query = &quot;select IdImagen,NomImagen from imagenes where IdImagen=$id&quot;;
$result = @MYSQL_QUERY($query);
$data = @MYSQL_RESULT($result,0,&quot;NomImagen&quot;);
$type = @MYSQL_RESULT($result,0,&quot;filetype&quot;);
echo &quot;&lt;TD&gt;&lt;img src=&quot;.$data.&quot; width='130'&gt;&lt;/TD&gt;\n&quot;;
};
?&gt;
No entiendo porque no me despliega lo que realmente contiene la imagen. Tambien lo probe con lo que sugieren pero nada , por favor alguien que me ayude :( . Espero respuesta. Gracias .
  #15 (permalink)  
Antiguo 08/07/2002, 16:06
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Imagenes

es que primero que nada, src= es donde tiene que ir la direccion de la imagen... No la imagen... Y segundo, porque no buscas las funciones de imagenes de GD como te dije?? Esta ahi la respuesta a tu problema!
Saludos ;)


<div align="center"><img src="http://cablemodem.fibertel.com.ar/sainztrapaga/images/firma.jpg" width="435" height="70" border="0">
</div>
  #16 (permalink)  
Antiguo 08/07/2002, 16:40
Avatar de pocanto  
Fecha de Ingreso: enero-2002
Ubicación: Caracas
Mensajes: 87
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Imagenes

Lestlie en esta dirección: <a href='ir.asp?http://www.phpbuilder.com/columns/florian19991014.php3' target='_blank'>http://www.phpbuilder.com/columns/floria...</a> estan los scripts necesarios para insertar y luego extraer una imagen de una BD. Son 4 y estan bien detallados.
  #17 (permalink)  
Antiguo 08/07/2002, 20:24
 
Fecha de Ingreso: enero-2002
Mensajes: 33
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Imagenes

Hola chicos ;) , bueno pues dejame decirte Pocanto que ya lo hice como lo especifica la liga que me sugieres pero aun asi no me despliega la imagen si no un rectangulo y en el una X. Yo creo que como me dice Gomo es de la libreria GD pero ya vi que este en el lugar correcto pero nada, no se porque no quiere, ¿como puedo hacer para que funcione la libreria gd? . Espero respuesta ;) . Gracias.
  #18 (permalink)  
Antiguo 08/07/2002, 21:03
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Imagenes

si crea la imagen, la libreria GD debe estar bien... Lo podes chequear de todos modos haciendo phpinfo()...
No tengo idea ahora de porque muestra la cruz... No sera que la imagen original era una cruz
Saludos :P


<div align="center"><img src="http://cablemodem.fibertel.com.ar/sainztrapaga/images/firma.jpg" width="435" height="70" border="0">
</div>
  #19 (permalink)  
Antiguo 09/07/2002, 10:27
 
Fecha de Ingreso: enero-2002
Mensajes: 33
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Imagenes

, no Gomo no es una cruz, de hecho ya ejecute info.php y ahi si muestra la informacion con las imagenes, de hecho hasta instale el MySQL-Front y si estan las imagenes en la Base de Datos porque las veo a traves del programa que les menciono, por lo que entonces concluyo que el problema es de PHP o de ¿donde es? , Alguien que me oriente . Espero respuesta Gracias ;)
Gomo ayuda!!!!!
  #20 (permalink)  
Antiguo 09/07/2002, 14:45
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Imagenes

A ver, porque no pones el codigo que usas para crear las imagenes???
Tal vez el problema este ahi, si con MySQL-Front (excelente programa) pudiste verlas siginifica que estan bien... Asi que bueno el problema esta en el PHP que las lee
Prueba a hacer algo asi:
&lt;?php
/*imagenes.php*/
//aca te conectas a la base

$id = $HTTP_GET_VARS['id'];
$sql = mysql_query(&quot;SELECT * FROM tabla WHERE id='$id'&quot;);
$img = mysql_result($sql,0,&quot;campo_binario&quot;);
header(&quot;Content-type: image/gif&quot;);
echo $img;
?&gt;

y lo llamas asi &lt;img src=imagenes.php?id=1&gt;
A ver que pasa eh

PD: GD no tenia nada que ver que tonterias dije





<div align="center"><img src="http://cablemodem.fibertel.com.ar/sainztrapaga/images/firma.jpg" width="435" height="70" border="0">
</div>
  #21 (permalink)  
Antiguo 09/07/2002, 19:31
 
Fecha de Ingreso: enero-2002
Mensajes: 33
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Imagenes

Bueno Gomo, lo hice como tu me dices pero no funciono , de hecho me hace lo mismo :(.

El codigo que tengo es el siguiente:

agregar_imagen.php
&lt;HTML&gt;
&lt;HEAD&gt;&lt;TITLE&gt;Insertar Imagen&lt;/TITLE&gt;&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;?
if($submit){//codigo que se ejecuta si se presiono el botón submit
MYSQL_CONNECT(&quot;$a&quot;,&quot;b&quot;,&quot;c &quot;);
mysql_select_db(&quot;prensa&quot;);
$data = addslashes(fread(fopen($form_data, &quot;r&quot;), filesize($form_data)));
$result=MYSQL_QUERY(&quot;INSERT INTO Imagenes(NomImagen) &quot;.
&quot;VALUES('$data')&quot;);
$id= mysql_insert_id();
print&quot;&lt;p&gt;Database ID: &lt;b&gt;$id&lt;/b&gt;&quot;;
MYSQL_CLOSE();
}
else
{// sino mostrar el formulario para nuevos datos:
?&gt;
&lt;form method=&quot;post&quot; action=&quot;&lt;?php echo$PHP_SELF;?&gt;&quot;enctype=&quot;multipart/form-data&quot;&gt;
&lt;INPUT TYPE=&quot;hidden&quot; name=&quot;MAX_FILE_SIZE&quot; value=&quot;1000000&quot;&gt;
&lt;br&gt;Subir archivo a la Base de Datos:&lt;br&gt;
&lt;input type=&quot;file&quot; name=&quot;form_data&quot; size=&quot;40&quot;&gt;&lt;p&gt;
&lt;input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;submit&quot;&gt;
&lt;/form&gt;
&lt;?
}?&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;

despues un programa como el siguiente:

getdata.php
&lt;?
if($id){
@MYSQL_CONNECT(&quot;$castor&quot;,&quot;lestlie&q uot;,&quot;lestlienoe&quot;);
@mysql_select_db(&quot;prensa&quot;);
$query = &quot;select IdImagen,NomImagen from imagenes where IdImagen=$id&quot;;
$result = @MYSQL_QUERY($query);
$data = @MYSQL_RESULT($result,0,&quot;NomImagen&quot;);
Header(&quot;Content-type: $type&quot;);
echo $data;
};
?&gt;

y otro programa:

desplegar_imagen.php
&lt;HEAD&gt;&lt;TITLE&gt;Desplegar Imagen&lt;/TITLE&gt;&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;img src=getdata.php?id=129&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;

Todo lo que puse es mi codigo , pero no se porque no me despliega en contenido de la imagen , espero que puedan ayudarme chicos del foro.
Espero respuesta Gracias por la yuda que puedan darme. ;) BYE.
  #22 (permalink)  
Antiguo 09/07/2002, 20:53
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: Imagenes

a ver, asi rapidamente se me ocurren dos cosas:
1) lo que dijo webstudio, si estas en guindos tenes que poner en el fopen() que lo abra en modo &quot;rb&quot;, read binary...
2) (esto puede ser que sea el problema, aunq ni idea) tienes register_globals = on?
Porq en caso de que esten off, tu script deplegar_imagen no recibira la variable $id y entonces no correra, y no se mostrara la imagen...
Para verificar esto, en vez de poner if($id) pone if($HTTP_GET_VARS['id']){blabla}
Saludos ;)


<div align="center"><img src="http://cablemodem.fibertel.com.ar/sainztrapaga/images/firma.jpg" width="435" height="70" border="0">
</div>
  #23 (permalink)  
Antiguo 10/07/2002, 16:22
Avatar de pocanto  
Fecha de Ingreso: enero-2002
Ubicación: Caracas
Mensajes: 87
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Imagenes

lestlie solo por curiosidad, las imagenes que manejas estan en formato gif?
  #24 (permalink)  
Antiguo 10/07/2002, 16:50
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Imagenes

Lestlie, efectivamente, tenés que hacer un script que lea la imagen desde la base de datos y la muestre, como indicás acá :
Cita:
getdata.php
&lt;?
if($id){
@MYSQL_CONNECT(&quot;$castor&quot;,&quot;lestlie&q uot;,&quot;lestlienoe&quot;);
@mysql_select_db(&quot;prensa&quot;);
$query = &quot;select IdImagen,NomImagen from imagenes where IdImagen=$id&quot;;
$result = @MYSQL_QUERY($query);
$data = @MYSQL_RESULT($result,0,&quot;NomImagen&quot;);
Header(&quot;Content-type: $type&quot;);
echo $data;
};
?&gt;
El problema que yo le veo a ese SCript, es que la variable $type tiene que estar vacía, entonces no muestra la imagen. También veo que vos en ningún momento estás guardando el tipo de la imagen subida en la Base de Datos... solo el contenido de la imagen.
Entonces, deberías modificar tu script de upload para que guarde el tipo MIME de la imagen.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #25 (permalink)  
Antiguo 11/08/2002, 02:36
 
Fecha de Ingreso: abril-2002
Mensajes: 35
Antigüedad: 22 años
Puntos: 0
Re: Imagenes

hace poco que comencé a leer sobre la manera de insertar imagenes a una base de datos mysql, y me encontré con el mismo script que menciona leslie y me ocurren los mismos problemas....¡no logro ver la imagen, pues entrega como resultado el borde de ella y nada más..!

el código que copie es el sgte(que recupera los datos de la base)
getdata.php
&lt;?php
if($id <IMG SRC="images/futbol.gif" WIDTH="15" HEIGHT="15" HSPACE="3"> ){
@mysql_connect(&quot;localhost&quot;,&quot;xxx&quo t;,&quot;yyyy&quot;);
@mysql_select_db(&quot;bynary_data&quot;);
$query=&quot;select bin_data,filetype from binary_data where id=$id&quot;;
$result=@mysql_query($query);
$data=@mysql_result($result,0,&quot;bin_data&quot; );
$type=@mysql_result($result,0,&quot;filetype&quot; );
header(&quot;content-type:$type&quot;);
echo$data ;
};
?&gt;

y para sacaruna imagen uso este:
ver_imagen.php
&lt;html&gt;
&lt;body&gt;
&lt;img src=&quot;getdata.php?id=3&quot;&gt;
&lt;/body&gt;
&lt;/html&gt;

no puedo ver la imagen ..como podría solucionar esto, alguna otra forma de hacerlo... :)
  #26 (permalink)  
Antiguo 05/03/2004, 09:06
 
Fecha de Ingreso: marzo-2004
Ubicación: San Salvador
Mensajes: 3
Antigüedad: 20 años, 1 mes
Puntos: 0
Lo que debes hacer es generar la consulta que trae el campo de la imagen y antes de presentarla enviar en el header el tipo de contenido de la pagina (ya sea jpg o gif), para hacer esto debes tener la libreria GD instalada:

mysql_select_db($database, $conn);
$query_rsImagen = sprintf("SELECT id, imagen FROM galerias WHERE id = %s", $colname_rsImagen);
$rsImagen = mysql_query($query_rsImagen, $conn) or die(mysql_error());
$row_rsImagen = mysql_fetch_assoc($rsImagen);
$totalRows_rsImagen = mysql_num_rows($rsImagen);

$imagen = imagecreatefromstring($row_rsImagen['imagen']);
$old_x = imagesx($imagen);
$old_y = imagesy($imagen);
$new_w = 100;
$new_h = 100;

if ($old_x > $old_y) {
$thumb_w=$new_w;
$thumb_h=$old_y*($new_h/$old_x);
}
if ($old_x < $old_y) {
$thumb_w=$old_x*($new_w/$old_y);
$thumb_h=$new_h;
}
if ($old_x == $old_y) {
$thumb_w=$new_w;
$thumb_h=$new_h;
}

$dst_img=imagecreatetruecolor($thumb_w,$thumb_h);
imagecopyresampled($dst_img,$imagen,0,0,0,0,$thumb _w,$thumb_h,$old_x,$old_y);

header("content-type:image/pjpeg");
echo imagejpeg($dst_img);
imagedestroy($dst_img);
imagedestroy($imagen);
mysql_free_result($rsImagen);

ESTE SCRIPT INCLUYE UN RESIZE DE LA IMAGEN TRAIDA DE LA BASE DE DATOS
  #27 (permalink)  
Antiguo 05/03/2004, 15:52
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 21 años, 5 meses
Puntos: 1
Mira como dice webstudio, si en tu script de upload de la imagen guardas el tipo MIME de la imagen en la BD que viene en el array $_FILES['imagen']['type'] (podria ser image/pjpeg) y luego en donde quieres mostras consultas a la BD el tipo y hacer header(Content-type: $campo[$tipo]); (es decir que esa cabecer te se escriba el tipo que quieres mostrar podras mostrar la imagen como desesas desde la Bd

Si no me equivoco en las FAQ`s de este foro hay un post de como hacerlo (creo :S)


saludos
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
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 18:08.