Mostrar una imagen desde blob mysql usando PHP
Por: braulio | 19 Enero 2005 | Ver comentarios |
Basándonos el artículo anterior de como guardar una imagen y su miniatura a un campo BLOB de mysql, ahora veremos como poder recuperar y mostrar esas imágenes.
Para que el script se muestre como una imagen necesitamos usar la cabecera Content-type y poner el tipo MIME de la imagen que recuperaremos de la tabla, esto es:
header("Content-type: image/gif");
Donde image/gif es el el tipo MIME para una imagen GIF.
Desarrollo del Script
Las imágenes han sido guardadas en la tabla y tienen un único identificador representado por el campo idfoto, la imagen original se guarda en el campo foto, la miniatura en el campo thumb y el tipo MIME en el campo mime, como podemos ver en la estructura de la tabla:
CREATE TABLE `tabla` ( `idfoto` int(3) NOT NULL AUTO_INCREMENT, `nombre` varchar(255) NOT NULL DEFAULT '', `foto` blob NOT NULL, `thumb` blob NOT NULL, `mime` varchar(40) NOT NULL DEFAULT '', PRIMARY KEY (`idfoto`) ) ;
Necesitamos enviar parámetros al script para indicarle el id de la imagen que queremos ver, y también si queremos ver la imagen original o su miniatura, suponiendo que el archivo que contiene al script se llame verblob.php
:
<img src="verblob.php?idfoto=1&tam=1" alt="Imagen desde Blob" />
Donde el parámetro idfoto indica el id de la imagen, y el parametro tam indica si va a mostrar la imagen original o la miniatura (1 para mostrar la imagen original y 2 para mostrar la miniatura). El script trabaja de la siguiente manera:
// Parámetros para recuperar la imagen
# Recuperamos el parámetro GET con el id único de la foto que queremos mostrar
$idfoto = (isset($_GET["idfoto"])) ? $_GET["idfoto"] : exit();
# Recuperamos el parámetro GET para elegir entre la miniatura o la foto real
$tam = (isset($_GET["tam"])) ? $_GET["tam"] : 1;
// Escojemos la foto real o la miniatura según la variable $tam
switch($tam) {
case "1":
$campo = "foto";break;;
case "2":
$campo = "thumb";break;;
default:
$campo = "foto";break;;
}
Ya sabiendo el id de la imagen que vamos a mostrar, hacemos la consulta a la base de datos:
// Recuperamos la foto de la tabla
$sql = "SELECT $campo, mime
FROM tabla
WHERE idfoto = $idfoto";
# Conexión a la base de datos
$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));
$conn = mysql_query($sql, $link) or die(mysql_error($link));
$datos = mysql_fetch_array($conn);
// La imagen
$imagen = $datos[0];
// El mime type de la imagen
$mime = $datos[1];
// Gracias a esta cabecera, podemos ver la imagen
// que acabamos de recuperar del campo blob
header("Content-Type: $mime");
// Muestra la imagen
echo $imagen;
Conclusiones
Los campos blob no solo nos permiten guardar imágenes, sino una gran variedad de datos, para mostrarlos solo hay que tener en cuenta el tipo MIME del archivo que hemos guardado, y al momento de recuperarlo sólamente utilizamos header con el Content-Type.
Elementos Utilizados
Referencias
Autor
Braulio Andrés Soncco Pimentel
Programador - Diseñador
braulio at buayacorp.com
luisterio
30 de Enero de 2005, 05:16:00 pm
BUENO.. ESTUVE BUSCANDOLO.. PERO LO DESCUBRI ANTES… JAJAJAAJ.. IGUAL BUENO
Christian
20 de Febrero de 2005, 05:45:58 pm
Muchas Gracias, Por fin un articulo senillo y que aclara las dudas de los usuarios con respecto a la visualizacion de los datos BLOB usando PHP
Joan
28 de Abril de 2005, 04:05:15 am
Despues de resolver diversos errores de varios codigos probados siempre me da el mismo error, incluso con éste mismo código facilitado en esta web.
El error ess el siguiente: “La imagen no puede mostrarse porque contiene errores”
Mi pregunta es: Puede tener algo que ver con mysql i su version? falta activar o desactivar algo en mysql? o en php?
Gracias a la gente como ustedes por ayudar de esta manera al desarrollo web!
albert
29 de Abril de 2005, 11:02:49 am
Hola, primero felicitarte por el script, pero tengo el siguiente problema, hay un par de comentarios que ya lo han expuesto, pero porque solo funciona imagenes .gif y las demas extensiones no!!!
Gracias
Christian
27 de Mayo de 2005, 02:21:10 pm
Hola me parece muy interesante lo que planteas y muy bueno en los dos artículos, el de subir y bajar imágenes o archivos de campos blob, pero dime una cosa, yo tengo un programa hecho en Delfi el cual sube imágenes a una base de datos y las almaceno como campos blob pero al recuperarlas siempre me llegan con su tamaño original y quisiera saber si me pueden o me puedes dar una idea de como volverlas mas pequeñas o en miniatura.
Gracias.
rankor
7 de Junio de 2005, 04:51:49 am
Hola:
tengo un problema, no me sale la imagen ni ningun error ni nada :s no se cual es el problema.
tengo el html con la imagen con el src=”verblob.php?idfoto=1&tam=1″, y en verblob.php todo el codigo, no se cual puede ser el problema.
muchas gracias
rankor
9 de Junio de 2005, 07:05:29 am
ya he solucionado el problema, para las imagene jpeg, el problema esta basado enel tipo mime de las imagenes jpg actuales, que tienen el tipo mime pjpeg (jpeg progresivo) cualquier imagen que saques de photoshop es de este tipo.
lo que hay que hacer es insertar un if en el que si el tipo mime es image/pjpeg lo cambie por image/jpeg en el archivop de subida de imagenes.
asi se soluciona el problema, y funciona sin problemas.
Luis
23 de Junio de 2005, 11:37:54 am
¡Fantástica explicación de la utilización de imágenes con PHP y MySQL en español!
Aunque tengo un problemilla… no consigo ver ninguna imagen en el navegador. Parecen que tanto la original como la miniatura se guardan correctamente en MySQL pero no soy capaz de verlas en el navegador. En su lugar aparece el típico aspa roja indicando que ahí debería de aparecer una imagen.
¿Alguna sugerencia?
Gracias.
javier
24 de Junio de 2005, 06:17:29 pm
Rankor!….. como es el codigo para cambiar de pjpeg a jpeg…..si pudieras enviarmelo te lo agradeceria……
javajavier_v@yahoo.es
braulio
25 de Junio de 2005, 09:21:25 am
Javier, el código ya está corregido, ahora si funciona a la perfección.
Saludos
Jaime
26 de Junio de 2005, 07:06:59 pm
tengo el mismo problema que luis. Y al hacer: boton derecho ‘mostrar imagen’ me da el siguiente mensaje:Warning: Cannot modify header information - headers already sent by (output started at C:\home\verblob.php:8) in C:\home\verblob.php on line 67. No entiendo que hago mal. Gracias por cualquier indicación.
Braulio
26 de Junio de 2005, 09:18:52 pm
Ese error sale generalmente cuando hay alguna salida en el navegador antes del Header, revisa bien tu código.
Luis
27 de Junio de 2005, 08:04:57 am
Jaime, ese problema lo tuve yo y se soluciona modificando el valor output_buffering = Off por On en el archivo php.ini.
Ya consigo ver las fotos pero el campo BLOB es insuficiente para el tamaño de las fotos. Creo que será más adecuado utilizar MEDIUMBLOB para almacenar la foto original.
Jaime
28 de Junio de 2005, 01:23:22 pm
Luis:
output_buffering = Off por On en el archivo php.ini. soluciona el error pero no se abre la image. Por otro lado: SI abre la imagen ; por tanto el error lo tengo en php (.ini?) Se te ocurre que puede ser ?. Agradezco anticipadamente tu atención.
Jaime
28 de Junio de 2005, 01:25:12 pm
Luis:
despues de SI falta: img src=”CIF Imago.GIF” alt=”Imagen desde Blob” (con los limitadores no sube!)
PABLO
30 de Junio de 2005, 09:53:41 am
No se por que veo solo el ascii de la foto…coloco bien la mime…probe todo…
ahi va el codigo:
\n";
#Efectuamos la consulta SQL
$result = mysql_query ("SELECT nro,foto FROM tabla")
or die("Error en la consulta SQL");
//------------------------------------
echo " \n";
echo " \n";
echo "Codigo \n”;
echo “Foto \n”;
echo ” \n”;
#Mostramos los resultados obtenidos
while( $row = mysql_fetch_array ( $result )) {
echo ” \n”;
echo “”.$row[”nro”].” \n”;
header(”Content-type: image/gif”);
echo “”.$row[”foto”].” \n”;
}
echo ” \n”;
mysql_close($conexion);
echo “fin”;
?>
veo el resultado del nro y el ascii de la foto!
Si alguien sabe que pasa....ayudenme!
Gracias!
PABLO
30 de Junio de 2005, 09:56:31 am
Esta es la primera parte que ahi no se ve:
\n”;
#Efectuamos la consulta SQL
——————-
Braulio
30 de Junio de 2005, 10:05:57 am
Antes de mandar un
header, nunca debes escribir algo.En este caso tú estás poniendo
echo "Codigo \n";, etc. Y más abajo está la cabecera header(”Content-type: image/gif”); incluso escribes muchas cosas antes de la cabecera. Es por eso que no funciona.PABLO
1 de Julio de 2005, 09:58:10 am
Gracias braulio por tu respuesta….pero como inserto esto en una tabla sin poner nada antes?
Braulio
1 de Julio de 2005, 10:12:07 am
Tienes que crear otro archivo, y en ese archivo pones éste código dentro de tu tabla.
PABLO
1 de Julio de 2005, 10:29:22 am
Disculpa Braulio pero no entendi tu explicacion……mando mi mail por si tenes algun ejemplo: pfiaad@hotmail.com
yo quiero mostrar en una tabla el numero de foto y la imagen. Gracias!
Alfonso
2 de Julio de 2005, 02:03:03 pm
hola, yo genere algo por el estilo pero tengo un problemilla a la hora de mostrar la imagen, mi problema consiste que llamo la foto desde un php bacio “sin etiquetas HTML” y funciona abre la imagen pero a la hora de insertar etiquetas HTML me salen un shingo de caracteres raros :S agradeceria si me pudieran ayudar
javier
4 de Julio de 2005, 04:34:48 pm
este codigo: , es lo unico que hay que poner en HTML?
Exactamente q debe mostrar la pagina verblob.php, e tratado de ejecutarla y no logro ver nada ni en verblob.php y tampoco en el codigo html
javier
4 de Julio de 2005, 04:36:35 pm
este codigo ” ” eslo unico que hay que poner en HTML?
javier
4 de Julio de 2005, 04:37:46 pm
este codigo es lo unico que hay que poner en HTML ….img src=”verblob.php?idfoto=1&tam=1″ alt=”Imagen desde Blob”?
marcelo
12 de Julio de 2005, 10:12:57 pm
Hola a todos,Tengo un problemilla…. Ahunque logré mostrar la imagen en el navegador, solo puedo mostrar la foto y nada mas,……no encuentro la manera de poder escribir en la misma página de la foto…
Fernando
20 de Julio de 2005, 03:11:26 pm
Cuando se muestra solo código y Ondas que ni al caso donde debe aparecer la imagen es porque cuando se utiliza el header solo debemos mandar a imprimir la fotografía y debe haber solo el print o echo de esta.
Si alguien sabe como utilizar el echo mas veces se lo agradesco me lo idga…!
rammstein_taylor69@hotmail.com
Danilo
27 de Julio de 2005, 09:20:30 am
Genial el codigo…..
Pero las imagenes JPG o Jpeg que parecen en la base de datos se muestran en el web unicamente hasta la mitad.. cual es el problema. el tamaño de las imagenes incluso es inferior a 100k..
Urgente ayuda!!!!
joshua
9 de Agosto de 2005, 11:58:15 am
Ami me muestra peuro codigo ascii ya puse bien lo del header y nada. lo q hice fue borrar todas las etiquetas html y dejar solo php… y me aparece ahora un cuadrito con una x, no me sigue mostrando la imagen….
Manu
10 de Agosto de 2005, 09:55:26 pm
Hola, braulio, muy buenos los articulos. Me has sacao de bastantes dudas…pero tengo un problema. No me muestra la foto que he subido.
Si pongo lo que esta en html antes de lño ded php me aparece el tipico logo de cuando falta la imagen., y cuando lo pongo dentro del body, no me muestra nada,. Como hago=?gracias
Raiden
18 de Agosto de 2005, 11:17:28 pm
A mi se me presentaron problemas parecidos (no podia ver las imagenes pero si estaban en la BD), no habia empleado el codigo tal cual como esta publicado, la unica diferencia era que en vez de definir la informacion de la base de datos (usuario, host, etc.) empleaba un include con esa info.
Como habia empleado la misma forma para ingresar la imagen a la base de datos sin mayor novedad nunca sospeche que en realidad era el include el que me estaba generando los problemas.
Alguien sabe porque este include me impide ver las imagenes?? Se trata de alguna rara excepcion?
Alejandro
19 de Agosto de 2005, 01:05:42 pm
Hola ami me funcionó el script pero en las imágenes grandes no me cargan completas, veo menos de la mitad de la imágen, supongo que sera porque on jpg progresivos, como comentaban algunos, por favor si alguien lo resolvio me lo podria enviar o publicar, muchas gracias
Alejandro
19 de Agosto de 2005, 02:24:55 pm
Me parece que descubri el problema, ahora lo voy a subir para ver, pero me fije las imágenes que me cargo por la mitad veia las propiedades y su peso era de 64kb y luego encontre esto:
Los campos tipo BLOD para almacenar el archivo binario. Su limite es de 65535 bytes (64 Kbytes), si desean almacenar archivos de peso superior deben de cambiar el tipo de campo “archivo_binaro” a un MEDIUMBLOB (16Mbytes max.) o a un LONGBLOB (4 Gbytes). Más info al respecto en:
http://www.mysql.com/doc/en/Column_types.html
Espero que les sirva porque el script lo veo muy útil
Alejandro
19 de Agosto de 2005, 02:38:34 pm
Lo hice y funciono perfecto, copien tal cual el script cambie la propiedad de la foto por `foto` MEDIUMBLOB NOT NULL, en lugar de
`foto` blob NOT NULL,
(para la columna de los thumb no hace falta ya que son mas chicos que 64 kb)
Asique quedaria asi:
Saludos
julius
23 de Agosto de 2005, 01:32:59 pm
Para aquellos que queráis una imagen en la web con otros contenidos y os aparecen el error de header visitad esta web: http://www.fedeblog.com.ar/?comments=83
El problema es que con este script solo muestras una imagen y vosotros queréis montar una web a partir de este códiggo. Tenéis que escribir vuestro código y donde tenga que aparecer la imagen hacéis una llamada al script :
echo ”;
De este modo aparecerà vuestra imagen!!
Espero no haberos liado más!!A10
Daniel
8 de Septiembre de 2005, 01:08:06 pm
Que tal braulio exelente ejemplo he tratado de ponerlo en practica pero tengo un problema al subir la imagen me sale este error
Fatal error: Call to undefined function: imagecreatetruecolor() in C:\Archivos de programa\PHP Home Edition 2\www\blob1.php on line 64
si alguien puede alludarme se los voy a agradecer mucho
JC
14 de Septiembre de 2005, 07:03:14 pm
Me gusto el articulo de subir imagenes y mostrarlas he trtado de hacerlo pero usando la base de MS SQL pero no lo he conseguido me podrian ayudar con eso
Solovaer
29 de Septiembre de 2005, 07:36:03 am
Holas Braulio:
Gracias por la ayuda recien me tope con esta pagina y me parece excelente la ayuda que prestas, acudo a ti por dos razones:
1. No pude hacer funcionar el script adecuadamente, si guarda las imagenes pero no las puede visualizar, ya posteaste que tienes el script completo me indicas donde por favor
2. debo realizar un script que busque en la bdd articulos y que muestre las fotos de cada articulo coincidente con labusqueda y que al hacer click en el se habilite un formulario de compra con sus datos. me puedes orientar en esto Gracias
Jose G.
6 de Octubre de 2005, 10:48:05 am
Yo hago todo lo q aparece en su ejemplo. Pero al momento de hacer el echo $imagen me sale esto en el navegador: GIF87a2ã«ÄäUbr•«Ç€“«
Gracias por cualquier ayuda q me den.
braulio
6 de Octubre de 2005, 12:01:49 pm
Talvez falta el header(”Content-Type: $mime”); revisa bien si realmente la cabecera manda una imagen.
jack
25 de Octubre de 2005, 04:58:57 pm
bueno el codigo esta muy bueno y util lo ice andar a la perfeccion pero aver si alguien me puede solucionar esta problem que tengo. lo llamo desde dentro de una tabla y muestra la imagen que quiero mostrar, pero el problema viene cuando quiero listar varias imagenes en distintas partes de la tabla y llamo el codigo para mostrar la imagen varias veses y con un id distinto, bueno hay se caga todo y deja de funcar y no me muestra ni una ni otras pero si muestar en la tabla creada la precencia de una llamada al de la imagen.
desde ya muchas gracias y si pueden escribirme al mail joaquintschopp@gmail.com
o por aca tambien voy a andar…
gracias
hely rojas
26 de Octubre de 2005, 07:58:28 am
Buenas, he probado el codigo todo bien, pero tengo una consulta, como puedo hacr si en vez de mostrar una sola foto quiero hacer una tabla de 2 x 2 para mostrar 4 fotos de una sola vez… o puede ser una tabla de 6 x2…bueno cualquiera sea el caso….se que la instruccion
datos = mysql_fetch_array($conn); extrae el array y lo voy mostrando con :
// La imagen
$imagen = $datos[0];
// El mime type de la imagen
$mime = $datos[1];
hasta alli todo bien,.,, pero como extraigo iamgenes consecutivas… cualquier consulta estoy en linea casi las 24 horas del dia… helymiguel@hotmail.com
javier
7 de Noviembre de 2005, 02:03:43 pm
Hola a todos… estoy tratando de hacer funcionar un script un poco mas sencillo que este pero cargo las imagenes bien en la base de datos pero no las logro mostrar… me aparece:
Warning: Cannot modify header information - headers already sent by (output started at d:\wamp\www\Javier\pag prueba2\descargar_archivo.php:2) in d:\wamp\www\Javier\pag prueba2\descargar_archivo.php on line 17
ÿØÿà JFIFHHÿÛC…… (GARABATOS)
y llamo a esta pagina desde otra con la siguiente instruccion:
?>
y me aparece este error:
Parse error: syntax error, unexpected ‘
javier
7 de Noviembre de 2005, 03:08:39 pm
hola… ya logre resolver casi todo… cuando trato de mostrar la imagen me aparece un recuadro con un X tal cual aparece cuando falta una imagen… como resulelvo eso¿? es lo unico que me falta por poner a funcionar…
solovaer
8 de Noviembre de 2005, 12:50:27 pm
Holas Braulio:
pues con el mismo pinche problema no puedo hacer que se visualicen varias imagenes al mismo tiempo, ya logre hacer funcionar todo el script a la perfeccion, pero el probelma es ahora con el header ya que no permite escribir otroas sentencias de escritira antes del header, sabes de alguna forma de evitar este problema y mostrar varias imagenes al mismo tiempo en una tabla. Vi que decias que debia enviarlo a otro archivo php perolo intente y visualiza solo la primera imagen de la consulta que hice por fa, necesito tu ayuda Gracias. si puedes enviame una respuesta a solovaer@yahoo.es
Braulio
8 de Noviembre de 2005, 11:30:28 pm
Este archivo sólo muestra una imagen, depende al parámetro que se le envíe…
Es decir si este archivo lo tienen que llamar cada vez que necesiten mostrar una foto.
Esto es:
No modifiquen el archivo de la imagen, simplemente úsenlo cada vez que necesiten mostrar una imagen.
MCKENZIE
15 de Noviembre de 2005, 01:07:44 pm
hola Braulio sabes , te felicito por tu script PERO , me saliero n unos problemillas , me lee el numero binario de la foto , pero no me la muestra , he puesto el header en todos lados , el formato de mi foto es jpeg asi k modifique el header , pero al parece el header no me lo lee ya que compilo el programa con el header y em muestra el cod binario , ahora le saco el header y em muestra exactamente lo mismo , ojala puedas ayudarme ,
MCKENZIE
15 de Noviembre de 2005, 01:10:41 pm
la pagina es la sgte :
http://www.glremates.cl/medcell/admin/mfoto.php
arriba estan los nombres de los productos (el “prueba ” tiene una foto ingresada en la base de datos ) haz click en Ver fotos y veras lo que me sale ,
Tambien probe poniendo el code fuera del html pero me sale lo mismo que a todos el cuadro de imagen con X
alex
15 de Noviembre de 2005, 01:34:49 pm
No tiene que haber ningún otro código aparte del que llama a la foto. Por eso es que no te lo muestra.
MCKENZIE
15 de Noviembre de 2005, 05:17:27 pm
hola aun no me sale . cree otra pagina donde hiciera la consulta y rescatara la foto (blob) y el mime se lo asigno ya que no lo almacene en la base de datos , este es el codigo k ingrese en la pagina k mostraria la foto
——————————————
Untitled Document
MCKENZIE
15 de Noviembre de 2005, 05:20:04 pm
haber si sale ahora :
y el html de la pagina despues de esto
MCKENZIE
15 de Noviembre de 2005, 05:30:15 pm
uf no se como poner codigo php aca .pero bue , el programa es super corto .solo hace la consulta para exxtrer la foto y abajjo un html simple .eso si antes del html hago todo .muestro la foto y pongo el header
David
25 de Noviembre de 2005, 03:48:52 am
Este es mi error, alguien puede decirme que significa exactamente?…muchas gracias
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhost/perrodecaza.com/home/html/verfoto.php:12) in /var/www/vhost/perrodecaza.com/home/html/verfoto.php on line 71
GIF89a22Ã
Pablo
28 de Noviembre de 2005, 03:37:13 pm
Hola ke tal!
Pues mi consulta es la siguiente. tengo una base de datos con muchos campos de texto y dos de fotos (blob) y queria sacar en el listado de toda la base de dates los datos y las fotos, pues bien el caso es ke me funciona todo pero las imagenes no me las saca y pongo esto
en el bucle while que mira cada registro . Pues bien me sale al error siguiente
Parse error: parse error, unexpected T_STRING, expecting ‘,’ or ‘;’ in c:\wamp\www\php\prueba2.php on line 82
En cambio si no muestro las fotos de cada linea y pongo el mismo codigo de img al final de la pagina (fuera del while que consulta la base de datos) SI que me muestra las imagenes.
Lo que kiero es ke me muestre los datos y las imagenes pero no lo consigo en la consulta a la base de datos.
Si alguien me puede ayudar se lo agradeceria llevo 1 dia entero intentandolo!
puamix@hotmail.com
menhir
3 de Diciembre de 2005, 12:48:17 pm
¡Hola Joan!
El 28 de Abril, pusiste un mensaje diciendo lo siguiente:
Despues de resolver diversos errores de varios codigos probados siempre me da el mismo error, incluso con éste mismo código facilitado en esta web.
El error és el siguiente: “La imagen no puede mostrarse porque contiene errores”.
A mi me ocurre lo mismo. ¿Lograste saber a qué se debe el error?
saludos
menhir (menhir@QUITAESTOguhzi.net)
Reip
8 de Diciembre de 2005, 08:33:17 am
Hola a todos!
Pues yo ya resolvi el problema de los warnings y eso. ahora mi problema es que no visualizo la imagen con el echo $imagen; solo manda basura. Ya cheque el header(”Content-Type: $mime”); y pues de todas maneras no funciona. Alguien sabe por que puede ser? Gracias
kcire7@gmail.com
Guille
13 de Diciembre de 2005, 12:40:28 pm
Q tal? creo q lei todo lo q hay en la web sobre esto y no logo q se vea la imagen .. m aparece la crucesita esa y noc q hacer ..
el codigo esta exactamente copiado desde ak .. no le cambie absolutamente nada ..
hay algun error ?
gracias
pixel-inc » Guardar imagen y miniatura en un campo Blob de mysql
29 de Diciembre de 2005, 01:01:49 pm
[…] -imagen-y-su-miniatura-a-un-campo-blob-de-mysql/#736 El siguiente articulo relacionado es Mostrar una imagen desde blob mysql usando PHP T […]
nidia
6 de Enero de 2006, 01:03:41 pm
NO PUEDO MOSTRAR UNA IMAGEN EN EN NAVGADOR ME APARECE La imagen “http://localhost/nidia/vrblob.php†no puede mostrarse, porque contiene errores. ALGUIEN MEPODRIA AYUDAR MI CORREO ES jpnidi@hotmail.com por favor es urgente
braulio
6 de Enero de 2006, 04:27:07 pm
No estás mandando los parámetros correctos para jalar de la base de datos, por eso es que no lo muestra.
Tadeo
16 de Enero de 2006, 11:00:53 am
LOS FELICITO!
Muchas gracias, su explicación me permitió obtener las imágenes de una BD en MySQL, las cuales sólo visualizaba copiando y pegando el ascii en el notepad y guardandolas con la extensión correspondiente.
Nando
17 de Enero de 2006, 12:16:09 am
me dice q La imagen “http://www.rockandbyte.com.ar/verblob.php†no puede mostrarse, porque contiene errores.
no se como solucionarlo, AYUDA PORFA
1k gracias..
alex
17 de Enero de 2006, 07:49:54 pm
Cuál es exáctamente el código que pusiste? asegúrate que no haya ningún caracter que se esté escribiendo en el stream de respuesta…
Saludos
Nando
25 de Enero de 2006, 12:31:42 am
lo que no puedo creer es que por visualizar la imagen , despues no puedas escribir nada, osea despues de mostrar la imagen no se puede hacer esto por ej
echo “esto es un ejemplo”;
alguien sabe como se puede imprimir por salida standard?
1k gracias.
braulio
25 de Enero de 2006, 02:45:57 am
Nando, el archivo donde muestras la imagen es un archivo aparte, tómalo como si fuera un archivo de imagen, y puedes llamarlo desde otra página en la que si vas a escribir el código, algo asi:
El archivo que muestra la foto debe ser independiente de cualquier otro, asi si te funcionará, lee bien el artículo ahi lo expliqué asi.
Saludos
JSR
26 de Enero de 2006, 10:19:49 am
El articulo esta muy bién, y con esta explicación ya he logrado mostrar varias imagenes en una tabla, con su respectiva descripcion.
CarlitosMDQ
30 de Enero de 2006, 01:04:01 pm
Hola, he estado intentando buscar un sitio que contenga como mostrar varias imgenes en una tabla de html y todos muestran ejemplos como este, que en definitiva no hace lo que estoy buscando. Porque mostrar el blob en una pagina perdida no cumple con mis necesidades. yo quiero previsualizar las miniaturas de las imagenes en una tabla y haciendo click sobre ella mostrar la imagen. Si alguien sabe como hacerlo porfavor indicarmelo. Muchas gracias.
CarlitosMDQ
31 de Enero de 2006, 07:09:36 am
hola Nuevamente, ya lo he logrado gracias igualmente .
mi e-mail lofeudoc@hotmail.com
hgsku
3 de Febrero de 2006, 12:35:31 am
son todos unos putitos
javier
3 de Febrero de 2006, 05:28:40 pm
Hola yo tenia el problema de las imagen en caracteres (gif 89 a ^*¨Ç*…). El problema son los include. Mas detalles sobre la solucion la tiene > de estos comentarios
javier
3 de Febrero de 2006, 05:29:07 pm
Hola yo tenia el problema de las imagen en caracteres (gif 89 a ^*¨Ç*…). El problema son los include o require. Mas detalles sobre la solucion la tiene > de estos comentarios
javier
3 de Febrero de 2006, 05:32:10 pm
Hola yo tenia el problema de las imagen en caracteres (gif 89 a ^*¨Ç*…). El problema son los include o require. Mas detalles sobre la solucion la tiene Raiden:comentario 31.
daiana
14 de Abril de 2006, 11:41:21 am
hola como estan soy daiaan les digo que no se cambiar la imAGEN PARA MOSTRAR SI SABEN DIGANME
pepeitor
15 de Abril de 2006, 10:18:44 am
Saludos:
El problema que planteo es cómo recupero un Blob (foto jpg) en una variable para copiarlo en otra tabla. El script debe hacer una lectura y acumular el valor dentro de un While:
Select tabla origen + condicion
While(Select tabla origen ){
Truncate tabla destino
->los datos para el insert: entre ellos el Blob
Insert tabla destino
}
A ver quién sabe cómo hacerlo
Rudo el Cojonudo
28 de Abril de 2006, 01:59:15 am
Hola a tod@as!!
En primer lugar agradecer la colavoración de todo el mundo y la de Braulio en especial. Llevo ya cerca de una semana intentando mostrar un pdf que almaceno en un campo BLOB y lo único que conseguía era mostrar basurilla en el navegador, hasta que modifiqué el campo del php.ini output_buffering de Off a On, tal y como decía Luis en el decimotercer comentario.
Ahora el tema está en que al ejecutar la página me sale un alert preguntándome con qué programa quiero abrir el archivo. Selecciono el Acrobat Reader y me lo abre sin problemas, pero lo que a mi me gustaría es abrir el pdf en el propio navegador no con el programa en si.
No se si me explico, tal y como lo tengo ahora no me abre el pdf a traves del explorador, sino que primero arranca el Acrobat Reader y a continuación el archivo en el, quedándose la ventana del explorador en blanco.
Alguien tiene idea de pq puede ser?
RichardKarl
20 de Mayo de 2006, 04:36:27 pm
Estoy migrando a una plataforma libre desde Windows, ya solucione el problema de las imagenes, vale decir, que no estoy migrando completamente, sino solo las paginas ASPX hacia PHP, la base de datos sigue en SQl Server 2005, y corre sobre el IIS.
Mi problema es que algunas imagenes se muestran solo una pequeña parte y la mayoria no se muestra nada solo la fastidiosa X roja, quisiera saber si hay algun equivalente a blob o medium blob o long blob de MySQL a SQL Server?
Yo estoy usando para mis fotos el campo de tipo “image” que viene e SQL Server, y no estoy pensando para nada activar el output_buffering de php.ini
Saludos desde Tingo María - Perú!!!!
luciana
28 de Mayo de 2006, 06:01:54 pm
yo estoy buscando una imagen q sea linda para mostrar
dyegos
8 de Junio de 2006, 11:17:50 am
Excelente el ejercicio me has sacado de una grave dificultad y entre todos me han ayudado a conocer mucho mas de php yo que soy principiante, muchas gracias a todos por los comentarios.
Nota: Llevo una recopilacion de todos los codigos (con ciertas modificaciones) que he ido chekando y los he ido subiendo a mi pagina aunque aun no esta lista.
Braulio me permitirias poner un link en mi pagina hacia esta pagina, y ademas me permitirias subir parte modificada de tu codigo, para asi poder compartirlo?
gracias ya tienes mi correo: dyegos000@hotmail.com
braulio
8 de Junio de 2006, 02:54:53 pm
Claro dyegos con gusto
Princess
18 de Junio de 2006, 11:34:21 pm
Hola, bueno yo tengo almacenadaas las imagenes en la base de datos y las puedo ver desde ahi, pero no puedo visualizarlas en una pagina web, soy principiante en esto de php y mysql y la vdd no he podido encontrar una solución si alguien me puede ayudar porke me urge mucho es para un trabajo de la escuela graciassss bye!!
les dejo mi mail por si algo princess_swanlake@hotmail.com
Iván
26 de Junio de 2006, 11:19:56 pm
Hola
Muy bueno el tutorial, trate de hacer una modificacion y generar dinamicamente la foto pequeña mandando los parametros pero me sale solo el formato ansi pero no puedo convertir la foto almazenada en mysql nuevamente a una foto gif. para redimencionarla alguien tiene idea de como hacer eso
MILLY YELIPSA
27 de Junio de 2006, 04:35:25 pm
ES QUE TENGO UN PROBLEMA QUE ES MI CORREO NO TIENE IMAGENES PARA MOSTRAR A MI CONTACTO
ssusy
28 de Junio de 2006, 03:12:34 pm
ayudenme! necesito mostrar una imagen en una tabla y al lado debo mostrar la descripcion, ya probe unos codigos pero la imagen no se muestra me aparecen muchos simbolos
porfas debo terminar lo mas pronto posible
ssusy
5 de Julio de 2006, 04:05:50 pm
hola necesito ayuda
me encuentro en un problemon, pasa que tengo que mostrar unos logotipos,
me dicen que debo guardar la ruta en mi base de datos de mysql y al mismo tiempo copiar la imagen a una carpeta en el servidor, pero ya intente hacerlo y no me muestra la imagen, no se como puedo copiar el archivo a una carpeta del servidor.
el logotipo lo tengo que mostrar en una tabla de dos columnas
en la primera columna aparecerá el logotipo y en la segunda columna deben aparecer los datos.
porfavor si alguien tiene algun codigo que me saque de problemas se lo voy a agradecer infinitamente
hasta pronto
Kenitzel
14 de Julio de 2006, 01:33:52 pm
header(”Content-type: image/gif”); expliqueme el funcioanmiento de esto.
si yo he creado la tabla por medio del administrador, entonces
; y verblob es el archivo donde esta guardado el scrip, pero como yo lo ise por medio de administrador q debo poner ahi (verblob).
Pedro
17 de Julio de 2006, 01:30:39 am
Hola, Braulio: Buenísimos los temas!! . Necesito mostrar en una página html dos columnas una con miniaturas, la otra con descripción de cada una de ellas. Al pinchar la miniatura debe abrirse la imagen grande. Cómo reacondiciono los códigos ??? Es un tema de requerimiento de muchos navegantes, que te parece si lo incorporas como tema GENERAL, dale que podés, gracias por tus ayudas permanentes!.
Jose
19 de Julio de 2006, 10:18:25 am
Buenos dias, excelente explicacion del script, sobretodo por su sencilles.
Les queria preguntar. No existe un formulario para introducir el valor de la foto buscada y esta aparesca ?
Horca
24 de Julio de 2006, 04:31:46 am
A mi tampoco me mostraba las imágenes y es por las siguientes lineas:
$idfoto = (isset($_GET[”idfoto”])) ? $_GET[”idfoto”] : exit();
$tam = (isset($_GET[”tam”])) ? $_GET[”tam”] : 1;
Me salia la página en blanco. Eliminanado la comprobación de la variable con el isset si que me funciona.
$idfoto= $_GET[”idfoto”];
$tam=$_GET[”tam”];
La verdad es que no se porque pasa esto, pero despues de darle muchas vueltas esto era lo que me fallaba.
Horca
24 de Julio de 2006, 04:55:29 am
Tambien me he dado cuenta que si no ponemos el header tambien funciona. ¿Entonces por que es necesario ponerlo?
Ademas si subimos una imágen gif con el fondo transparente al crear el thumbnail le cambia el transparente por negro. (Por lo menos a mi me ocurre asi)
eli
1 de Agosto de 2006, 11:30:38 am
te quiero mucho
cristian
2 de Agosto de 2006, 03:19:45 pm
quiero que me asepten no mas y yo les agradesere por siempre
Manu
7 de Agosto de 2006, 09:35:26 am
Hola, Braulio y demás participantes.
Tengo el archivo blob.php y funciona sin problemas cargando las imagenes.
Pero con el archivo verblob.php no consigo ver la imagen y lo único que imprime es la imagen pero con la famosa x y el alt=”Imagen desde blob”.
Me he leído todos los post y no veo la solución claramente de que puede ser, ahi dejo el código para ver si me ayudáis un poco entre todos.
Gracias y un saludo
Francisco Parada (PayaZo)
27 de Agosto de 2006, 09:12:42 pm
Muchas gracias compadre te pasaste muy bien explicado y muy bien hecho esto he!!!
me encanto y la forma muy clara para explicarte
gracias
PayaZo Style
omar
11 de Septiembre de 2006, 09:22:27 pm
Lo pario!!!. despues de trabajar tanto tiempo subiendo las imagenes a una carpeta y el link a la DB, encontre este script y me puse como loco, pero despues descubrí que dentro de un texto no se puede usar la imagen, jajajaja. otra vez para atras, jajajaja. Pero el script esta muy bueno, no se me ocurre donde se puede usar pero esta muy bueno, a si en una galeria de imagen tal vez aunque no se me ocurre como armar una sin tener una
Jose Manuel
6 de Octubre de 2006, 06:29:37 pm
Esta muy bien el Ejercicio, Funciona Perfecto, Felicidades a los Creadores
Chavez
8 de Octubre de 2006, 09:36:04 am
comp puedo mostrar varias images al mismo tiempo, he tratado agregarle un While pero siempre muestra una sola. AYUDA…..
Richard Romero
15 de Octubre de 2006, 09:21:50 pm
Hola amigo nose si conocen el Tinybutstrong es una belleza uno tiene su codigo PHP aparte y en el html uno pone solo referencias esta libreria hace una mezca de las variables que tiene en el php con las referencias da buen resultado… vean un poco de esto muy.. facilisimo hacerlo
Ahora yo uso esta libreria..
pero diran como:
Hago en un archivo aparte mi consulta php
include_once(’cVis.php’); // OJO esta el la libreria q les digo…
include_once(’CBase_datos.php’); // es mi controladora de base de datos
$sv=new ServiciosBD(”pedidos”); //la conecciona a mi base de datos
$sb=$sv->BDSeleccionar(’productos’,$n,$m);// hago mi consulta
if (!$sb){
echo ‘No fue posible ejecutar la consulta’.”.mysql_error();
}
else
{ $cont =1;
while ( $fila = mysql_fetch_array($sb) )
{
/// cargo una matriz con el resultado del select
$n1[$cont][1] = $fila[’id_producto’];
$n1[$cont][2] = $fila[’des’];
$n1[$cont][3] = $fila[’precio’];
$n1[$cont][5] = $fila[’nombre’];
$cont ++;
}
}
// esto es lo bueno declaro un objeto de la clase
$TBS = new clsTinyButStrong;
$TBS->LoadTemplate(’novedades1.php’); // le digo el HTMl o donde
// me vaa mezclar las
// variables
$TBS->MergeBlock(’blk’,$n1);//me hace la mecla de todo
$TBS->Show(); // ahora q me muestre el formulario
?>
AHora el HTML SE LLAMA novedades1.php solo puse una parte por q lo demas son patrañas imagenes echo y tablas y adornos
me va mostrar foto + texto + precio en una tabla
NO IMPORTA SI HICE UN ECHO MIL VECES ANTES
Estas son
la novedades de la semana……
[blk;block=begin] /// defino un bloque y el nomble de la variable
//IMPORTANTICISMO!!!!!
//OJO ACA EN EL SRC PONGO LA FUNCION DE ARRIBA LA QUE TODO EL FORO CONOCE Y LE MANDO EL ID blk.1 QUE SEGUN EL PHP DE ARRIBA ES MI COD DE PRODUCTO
//BLK.2 ES EL NOMBRE SEGUN EL PHP DE ARRIBA
[blk.2] nuevo !!!!
//BLK.3 ES EL PRECIO SEGUN EL PHP DE ARRIBA
[blk.3]€ Comprar
ya!!
//ESTE ES EL FIN DEL BLOQUE de mezcla
[blk;block=end]
A la larga parce un poco feo pero intentanlodo es facil van ha ver y me muestra todo…FOTO + PRECIO Y LO QUE YO QUIERA JUNTO
NO HAY RECTRICCIONES DE NO HACER ECHO ANTES DE LA FOTO NI NADA !!
Richard Romero
15 de Octubre de 2006, 09:36:50 pm
cualquier consulta sobre el TinyButStrong tiene su pagina con ejemplos echos un manuales les facilita la vida y si lo convinas con otras funciones como esta es mejor
cunsultas pa las q sea
dibu_r@hotmail.com o dibu.richard@gmail.com
THOMAS TU
22 de Octubre de 2006, 12:25:17 am
Saludos a todos los antecesores
Me han ayudado bastante los articulos publicados acerca de la programación PHP y MySQL. Sin embargo, me gustaría pedir una pequeña asesoría de los expertos en PHP y MySQL con respecto a la manera de mostrar imágenes en una tabla HTML junto con los demás datos de la tabla. Hasta ahora logré mostrar los datos en la tabla html pero las imágenes aparecen en puros códigos desordenados…
Espero que me puedan recomendar unos métodos
Muchas gracias
THOMAS T.
rosalia
28 de Octubre de 2006, 07:25:41 am
hola,como puedo subir o almacenar documentos.doc , pdf y gif a una base de datos postgres utilizando php.
no se si podrian ayudar!!!!!!
muchas gracias
alex
29 de Octubre de 2006, 08:08:22 pm
Rosalía, en los enlaces relacionados se hace referencia a Guardar y recuperar archivo en un campo blob de PostgreSQL con PHP
janeth
30 de Octubre de 2006, 01:39:51 pm
Hola oye tengo un detalle lo que pasa es que no consigo ver la imagen…no me marca errores pero no me muestra nada aun….le agradeceria su aportación para la solucion de este problema….gracias bye
janeth
30 de Octubre de 2006, 02:42:28 pm
Hola a todos los usuarios de este medio…
Tengo un problemita es que Quiero mostrar varias imagenes jpeg…y la pagina no muestra nada ……si alguien me puede ayudar se lo agradeceria mucho….le mando saludos a todos los usuarios de este grupo
Le agradeceria si me ayudaran este es mi correo:
janrry_2020@hotmail.com
Gracias saludos
The Answer
14 de Noviembre de 2006, 08:28:14 am
Hola a todos, mi problema es el siguiente, hace dias intento mostrar varias imagenes y sus respectivas descripciones de articulos usando el blob de mysql, y solo consigo mostrar una serie de caracteres: mi codigo es el siguiente, espero que me colaboren.
” width=”150″ height=”150″>
sitri
19 de Noviembre de 2006, 07:59:17 pm
hola me gustaria saber como saco en pantalla aparte de la imagen que me sale alguna descripcion etc… cuales codigos deberia agregar?
y otra cosa:
existe alguna forma de que a medida de que se vayan agregando fotos a la bd estas vayan mostrandose en primer lugar , pongamos que tenemos un top 10 d imagenes y la medida de que se vayan subiendo nuevas estas nuevas vayan quedando primeras n este conteo..?
a ver si alguien me ayuda
muy buen tutorial!
alex
19 de Noviembre de 2006, 09:39:26 pm
Sitri, para lo primero necesitas de 2 páginas, una para recuperar la imágen de la base de datos y otra para recuperar las descripciones.
Sobre lo segundo, lo único que tienes que hacer es ordenar por el campo adecuado, Ej. asumiendo que tienes un campo fecha, entonces la consulta SQL sería:
sitri
20 de Noviembre de 2006, 07:58:06 am
gracias alex ya luego probare y te contare!
besos
sitri
20 de Noviembre de 2006, 08:11:57 am
alex me base en la pagina de aca y logre recuerar la imagen y la muestro de forma
chiki
22 de Noviembre de 2006, 04:14:59 am
Hola, mi problema es que quiero mostrar imagenes png y solo me muestra el codigo fuente de la imagen, como lo puedo solucionar?
edwin
29 de Noviembre de 2006, 06:50:19 pm
hola a todos por favor pongan todo el script completo
la etiqueta de se coloca dentro de php o fuera
ahoar por que para capturar la foto utiliza el metodo get y n no el post
graxias
alex
29 de Noviembre de 2006, 08:09:52 pm
Edwin, no entiendo a qué te refieres, ¿podrías explicar cuál es el problema que tienes?
luis alberto
4 de Diciembre de 2006, 09:54:32 am
Braulio:
Muchas gracias por tus aportes. Asi ayudas a muchos a mejorar y aprender.
Te agradeceria que me ayudes.
He seguido todos los pasos para mostrar laa imagen.En un momento todo salio muy bien.
Pero ahora no.
Tengo 3 archivos.
El primero llamado ver con formulario que envia al segundo listar_imagenes y ahi se invoca a verblog.php(mostrar la imagen)
El codigo del segundo es:
… conexion…
$sql = “SELECT id,archivo_nombre,archivo_tipo,archivo_peso,archivo_binario FROM imagenes”;
$consulta = mysql_query($sql) or die (”No se pudo ejecutar la consulta”);
while ($row = mysql_fetch_array($consulta,MYSQL_BOTH)) {
$id=$row[0];
echo”
$id
Nombre archivo: $row[1]
Tipo archivo (MIME formato): $row[2]
Peso: $row[3] bytes.”;
}
me muestra:
1
Nombre archivo: 5955941.80×80.jpg
Tipo archivo (MIME formato): image/jpeg
Peso: 1864 bytes.
2
…….
………
Te agradeceré que me des un poco de tu tiempo y me ayudes es importante para mi.
muchas gracias
cuando se invoca a verblog.php no llega a ejecuarlo.Le he hecho un seguimiento.
todos los archivos estan en el directorio raiz:C:
alex
4 de Diciembre de 2006, 02:14:25 pm
¿Cuál es exáctamente el error?
Ten en cuenta que verblob.php solamente debe mostrar una imagen sin ningún texto extra.
Estuardo
4 de Diciembre de 2006, 03:39:01 pm
Para insertar imagenes en php com Mysql este codigo
$nombre_archivo=$HTTP_POST_FILES[”imagen”][”name”]; //Nombre del archivo
$tipo_archivo=$HTTP_POST_FILES[”imagen”][”type”]; //Tipo de archivo
$tamano_archivo=$HTTP_POST_FILES[”imagen”][”size”]; //Tamano de archivo
$archivo = $_FILES[”imagen”][”tmp_name”];
if ($nombre_archivo!=”")
{ $fp = fopen($archivo,”rb”);
$contenido = fread($fp,$tamano_archivo);
$contenido = addslashes($contenido);
fclose($fp);
$insertSQL=”INSERT INTO imagenes (nombre_img, tipo_img, imagen) VALUES (’$nombre_img’, ‘$tipo_archivo’, ‘$contenido’)”;
mysql_select_db($database, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
}
**********************************************
Con esto ingresara las imagenes en la base de datos ….espero que les sirva si tienen alguna duda escribanme a mi correo estuardo195@hotmail.com…..mucha suerte.
luis alberto
4 de Diciembre de 2006, 08:41:11 pm
Gracias alex por atenderme asi como las personas que se interesan en ayudarme.
al ejecutar ver.php NO MUESTRA LA IMAGEN. Muestra todos los registros menos la imagen aparece una X y acontinuacion el texto asi:
X -> en lugar de la imagen
1
Nombre archivo: 5955941.80×80.jpg
Tipo archivo (MIME formato): image/jpeg
Peso: 1864 bytes.
X -> en lugar de la imagen
2
………………….
……….
Si he tenido cuidado de no poner ningun texto en el archivo verblog.php
if(isset($_GET[’id’])) {
datos de la conexion
…….
…….
$sql1 = “SELECT archivo_binario,archivo_tipo FROM imagenes WHERE id=’1′”;
$conn = mysql_query($sql1, $link1) or die(mysql_error($link1));
$datos = mysql_fetch_array($conn);
// La imagen
$imagen = $datos[0];
// El mime type de la imagen
$mime = $datos[1];
// Gracias a esta cabecera, podemos ver la imagen que acabamos de recuperar del campo blob
header(”Content-Type: $mime”);
// Muestra la imagen
echo $imagen;
}
?>
Lo raro es que me funcionaba muy bien. pero ahora no
Gracias por su interes.
alex
4 de Diciembre de 2006, 09:26:38 pm
Prueba cambiando el
content-typede la página atext/plainotext/htmlpara ver que no esté mandando ningún error.Hay la posibilidad de que lo cuelgues en algún lado? talvez asi te ayudaremos más
luis alberto
5 de Diciembre de 2006, 10:32:47 am
Hola a todos:
Hice el cambio a content-type igual no muestra la imagen-
En mi caso ver.php es HTML su codigo es:
El archivo listar_imagenes.php
Es el que extrae los datos de la BD.
su codigo:
$id
Nombre archivo: $row[1]
Tipo archivo (MIME formato): $row[2]
Peso: $row[3] bytes.”;
}
?>
En este archivo con invoco a VERBLOG.PHP para que muestre la imagen.
su codigo:
HE NOTADO
estara bien
luis alberto
5 de Diciembre de 2006, 10:42:26 am
……CONTINUACION
Como dije este llamado con
desde listar_imagenes. PARECE que llega a ejecutarlo por que al inicio del mismo puse:echo “holla”; y tampoco lo muestra-ESTARA BIEN de listar_ imagen.php
luis alberto
5 de Diciembre de 2006, 11:18:10 am
Hola Alex. Hola amigos.
Para solucionar mi problema(NO MUESTRA LA IMAGEN) hay la posibilidad de que alguien me indiquen un sitio donde se muestre bien el tema que tratamos.
Tambien tratare de colgar en algún lado para que me ayuden.
Gracias
alex
5 de Diciembre de 2006, 11:32:01 am
Obviamente con el cambio que te sugerí no debe mostrar la imagen, eso sólo era para detectar un posible error en verblob.php.
Te sugiero que depures tu aplicación con xdebug o uno por el estilo y veas realmente que está pasando, los comentarios que envías no ayudan mucho a solucionar tu problema…
En fin, espero que alguien más llegue a ayudarte, porque mi tiempo es algo limitado.
Saludos
luis alberto
6 de Diciembre de 2006, 12:19:58 pm
Saludos a todos:
Una consulta: En un campo blob he guardado un archivo texto (doc).Quisiera saber como muestro este archivo.
Gracias por su atención.
maria
6 de Diciembre de 2006, 12:31:17 pm
hola, por favor si me pudieran ayudar, quiero visualizar la imagen pero me dice que requiero el GD 2.0 y el mio es 1.6 pues no se como hacer para ponerle el 2.0 he buscado en interner pero no encuentro, no se que me pueden sugerir, talvez tengo que desinstalar todo que version del php utilizo asi como el apache, mysql :S alguien me puede ayudar???? se lo agradeceria eternamente
Gracias de antemano
alex
6 de Diciembre de 2006, 08:26:33 pm
Luis, envía la cabecera
Content-type:application/ms-word.María, si estás en un hosting compartido, tienes que pedir que actualicen la versión de esa librería, si quieres hacerlo en tu entorno de desarrollo, sólo instala la última versión de PHP.
luis alberto
7 de Diciembre de 2006, 10:29:13 pm
Saludos Alex y a todos los amigos.
He logrado insertar un archivo .doc (editado en word) en la BD.
Tengo un archivo php (verblog.php) que me muestra las imagenes
que tengo en esa BD.
Utilizo el mismo para mostrar este archivo .doc y no lo hace.
Me pueden ayudar.
gracias.
maria
9 de Diciembre de 2006, 07:53:54 pm
hola, bueno, yo estaba viendo el comentario de jaime, eso de cambiarle el output_buffering= off por output_buffering=on, pero el mio, en el ini, tengo como cuatro output_buffering y todos estan asi… output_buffering=4096.
pues, voy por este lado, porque el problema que tengo es que no visualiza mi imagen, todo esta muy bien aparentemente, cuando abro el explorador no me sale absolutamente nadal… no se como hacer, no se si alguien me puede ayudar me urge tengo que terminar un trabajo y tengo que entregarlo el LUNES ya se deben imaginar lo nerviosa y triste que estoy al no ver nada… gracias de antemano
alex
10 de Diciembre de 2006, 02:33:14 pm
María, me parece tienes algunos valores incorrectos, revisa la documentación para mayores detalles.
Por otro lado, también sería bueno que habilites la opción para mostrar errores, puedes hacerlo desde php.ini con
display_errors=ono con la función error_reporting.maria
12 de Diciembre de 2006, 02:35:59 pm
Hola, Gracia alex por tu respuesta, logre visualizar la imagen, pero ahora quiero visualizarlas todas, he hecho la prueva con un for y con while, pero nada con el for logre que me pinte la ultima que incerte jugando con el id, pero no quiero ni el ultimo ni el primero, quiero que me muestre todo, please!!!! como hago? que se me muestre todas las imagenees, necesito ayuda Gracias….
joseBedoya
16 de Diciembre de 2006, 11:01:49 am
Primero que todo, pues felicitarlos ya que esta excelente este tutorial.
Hola maria esta es una pequeña forma de mostrar todas las imagenes de la base de datos
//Conexión a la base de datos include("../conexion.php"); $link=conexion(); $sqlQuery = "SELECT idFoto FROM imagenes"; $result = mysql_query($sqlQuery, $link); //pregunto si tiene registros. if ($row = mysql_fetch_array($result)){ ?> table width="150" border="1" cellspacing="0" cellpadding="0" tr td width="235" align="center" img src="verblob.php?idFoto=&tam=2" alt="Imagen desde Blob" /> /td /tr> /table> b>Aún no hay registros en la base de datos/b>/center>"; } ?>PD: Completa las etiquetas XHTML, ya que de otra forma no se como se enviaban.
Juan Carlos
17 de Diciembre de 2006, 06:19:03 pm
saludos, primero q nada darles las gracias x darse tiempo de ayudar a los demas…weno lo q quisiera solicitar es lo mismo pero mediante JSP osea recuperar una imagen si fuera posible desde DB2 usando JSP, espero q puedan ayudarme, nos vemos
alyer
17 de Diciembre de 2006, 07:38:12 pm
hola gracias por el script es muy bueno todo funciona bien pero si lo quiero mostrar en una tabla no funca como puedo solucionar este problema alguien puede ayudarme
gracias
joseBedoya
18 de Diciembre de 2006, 12:06:11 pm
He estado cacharriando y he creado una pequeña solución que nos puede servir para crear una galeria, dandonos la posibilidad de mostrar los thumbnail en una tabla indicadonle de a cuantas columnas queremos que se organice.
body> ?php //Conexión a la base de datos include("../includes/conexion.php"); $link=conexion(); $sqlQuery = "SELECT idImagen FROM imagenes"; $result = mysql_query($sqlQuery, $link); //pregunto si tiene registros. if ($row = mysql_fetch_array($result)){ echo "table width='150' border='1' cellspacing='0' cellpadding='0'>"; echo "tr>"; $sw=0; do { //en este momento nos muestra de a tres columnas. if($sw != 3) { echo "td width='235' align='center'>/td>"; } else { $sw = 0; echo "/tr>"; echo "tr>"; echo "td width='235' align='center'>"; } $sw= $sw + 1; } while ($row = mysql_fetch_array($result)); echo "/tr>/table>"; } else { echo "center>b>Aún no hay registros en la base de datos/b>/center>"; } ?> /body>Espero les ayude.
PD: completen la etiqueta de comienzo de HTML.
joseBedoya
18 de Diciembre de 2006, 12:10:00 pm
UPS ¡¡¡ en el mensaje anterior se me paso algo, pero aquí esta nuevamente corregido ….
body> ?php //Conexión a la base de datos include("../includes/conexion.php"); $link=conexion(); $sqlQuery = "SELECT idImagen FROM imagenes"; $result = mysql_query($sqlQuery, $link); //pregunto si tiene registros. if ($row = mysql_fetch_array($result)){ echo "table width='150' border='1' cellspacing='0' cellpadding='0'>"; echo "tr>"; $sw=0; do { if($sw != 3) { echo "td width='235' align='center'>img src='verblob.php?idImagen=".$row['idImagen']."&tam=2' />/td>"; } else { $sw = 0; echo "/tr>"; echo "tr>"; echo "td width='235' align='center'>img src='verblob.php?idImagen=".$row['idImagen']."&tam=2' />/td>"; } $sw= $sw + 1; } while ($row = mysql_fetch_array($result)); echo "/tr>/table>"; } else { echo "center>b>Aún no hay registros en la base de datos/b>/center>"; } ?> /body>Any
18 de Diciembre de 2006, 04:50:16 pm
hola a todos me encanta esta página x que todos se apoyan entre si.
Me podria alguien decir como verifico que si este guardada la foto en mi tabla, el ingreso lo hago con el codigo de la pagina de como guardar un blob y no tuve problema y al ejecutarlo me marca que ya se guardo pero en el momento de mostrar las imagenes tambien lo hice con este codigo y no me muestra mas que la crucesita asi que quisiera checar si si tengo guardada la imagen en la tabla.
de antemano gracias por su ayuda y si me pueden mandar algun ejemplo mi mail es: anaonotaz@hotmail.com
Gariel
19 de Diciembre de 2006, 05:03:22 pm
ok ok ya me ha salido la imagen la puedo ver pero mi idea ahora es hacerla que aparezca en un elemento de estilo para que se aplique a varias paginas se podria haceeeeeeer gracias de antemano, nos vemos pronto ok …..
joseBedoya
21 de Diciembre de 2006, 10:26:38 am
Si simplemente crea tu css e importalo a tu página.
kyle
22 de Diciembre de 2006, 05:42:47 am
Hola, muy buenas las explicaciones.
Mi problema es que consigo mostrar varias imagenes en una tabla, con vuestro ejemplo; pero lo que quisiera es que al hacer click en una de las imagenes me llevase a una pagina nueva donde muestre la imagen seleccionada, y otros datos. Y el problema es que no sé como recuperar la “id_imag” de la imagen selecionada a traves de la url, es decir como mostrar en una nueva pagina la imagen que he selecionado haciendo click en ella.
Si me pudiesen ayudar se lo agradezco enormemente.
Saludos.
luis alberto
30 de Diciembre de 2006, 07:33:30 pm
Saludos a todos los amigos:
Quisiera ser sinceros con ustedes.He aprendido bastante con ustedes y importante apoyo.
Tambien decirles y donde se encuentren: FELIX AÑO NUEVO 2007. son mis mas sinceros deseos.
Luis Alberto
luis alberto
30 de Diciembre de 2006, 09:18:51 pm
Kyle:
lo que tu necesitas lo hice con lo siguiente:
while ($row = mysql_fetch_array($result,MYSQL_BOTH)) {
$codley = $row[1];
echo”
a href=’/paginas/imagenes_zonas.php?codigo=$codley’
img src=’/paginas/vemini.php?id=$codley’
;
}
el enlace ponlo en una tabla (a href…)
table
tr
td…aqui ponlo td
tr
table
quise enviarlo el codigo completo pero en la vista previa
no aparece.
o sino enviame tu correo para pasartelo.
ojalá te sirva. Feliz Año 2007
kyle
3 de Enero de 2007, 05:23:04 am
Muchas gracias luis alberto por contestarme.
Si pudieses enviarme el codigo completo te los agradezco, mi correo es kyle4466@hotmail.com
Feliz 2007
Sergio
13 de Enero de 2007, 01:31:35 pm
Hola a todos! Este foro esta muy bien ha habido gente con el mismo problema que yo pero no había contestacion ya que seguramente las respuestan habran ido a su e-mail.
Bueno pues la cosa es que tengo que mostrar una imagen desde php consultando mysql y lo hago tal y como pone al principio pero la cosa es que me da el siguiente error y no se porque será.
————————————————————
No se puede mostrar la imagen “http://localhost/MuseoPHP/prueba.php” porque contiene errores.
————————————————–
$conn=mysql_connect(”localhost”,”root”,”");
if (!$conn)
{echo “ERROR: Conexión no establecida”; exit();}
//NOS CONECTAMOS A MUSEO
$bdmuseo=mysql_select_db(”museo”,$conn);
if (!$bdmuseo)
{echo “ERROR: Conexión no establecida con museo”; exit();}
// header(”Content-type: image/gif”);
$cons_ima=”select imagen from museo where id_museo=’1′;”;
//Cuando generamos con Java esta página, deberemos tener una variable que nos guarde un id o nombre del museo que estamos tratando
$result=mysql_query($cons_ima,$conn) or die(”Error en la consulta contar el numero de exposiciones”);
$row = mysql_fetch_row($result);
$imagen = $row[0];
// Gracias a esta cabecera, podemos ver la imagen
// que acabamos de recuperar del campo blob
header(”Content-Type: image/gif”);
// Muestra la imagen
echo $imagen;
Aqui os dejo todo el codigo y también mi correo nosekpone@hotmail.com.
Espero que alguien me pueda ayudar ya que es urgente.
Pues muchas gracias de antemano.
Zack
15 de Enero de 2007, 08:30:35 pm
Que tal a todos.
Yo tenía el mismo problema que muchos:
PROBLEMA: No aparecía la imagen solo un X
SOLUCION: En mi codigo tenía un “include funcion.php”, lo quite y funciono.
PROBLEMA:Aparecia solo el ascii de la foto…
SOLUCION: Faltaba el header(”Content-Type: $mime”)
Espero les sirva.
Saludos
Sama
20 de Enero de 2007, 10:42:41 pm
Hola Buenas, Yo tengo un problemita que espero me podais solventar por favor.
Consiste en lo siguiente:
Cuando Yo creo un nuevo modulo para mi pagina web, tambien creo un archivo html, un index.php y una carpeta(images) ok hasta hay todo bien.
Pero despues cuando con mi editor de paginas webs(DreamWeaver) quiero modificar o añadir contenido al archivo html, me deja añadir contenido y hacer todo correctamente; Ahora biene el problema, cuando yo agrego una imagen, la inserto desde la carpeta que e creado(images) que esta dentro de la carpeta del nuevo modulo que e creado para mi web(las imagenes las meti previamente en la carpeta images.
Mi problema esta en que yo inserto las imagenes desde esa carpera despues guardo todo el contenido y subo el modulo entero al pft, osea subo la carpeta de por ejemplo: Sama y dentro de “Sama” va el archivo index.php, el archivo .html y la carpeta de imagenes con las imagenes que quiero mostar dentro, bueno pues yo las subo al ftp del host y cuando habro mi web, no se ven las imagenes, lo unico que aparece es un recuadro en blanco pero no se ve la imagen.
Me gustaria por favor que alguien me pueda contestar a la mayor brevedad posible muchas gracias.
Os dejo la url de mi web donde podreis apreciar el problema. Y gracias de nuevo.
Url:http://hopex15.host.sk/modules.php?name=Miembros
Msn:Sama_web@hotmail.com
Edi
28 de Enero de 2007, 02:30:56 pm
Hola Buenas he estado viendo tu codigo y lo primero te felicito por tu trabajo pero yo no he conseguido mostrar la imagen se me guarda perfectamente y a la hora de mostrar no me da ningun error en el verblob.php pero la imagen se muestra con una cruz roja el es mismo codiga ya q lo copie y lo pegue. si sabe que me pode estar fallando se lo agradeceria ,Gracias un Saludo
Quan
29 de Enero de 2007, 02:50:00 pm
Muy bueno tú código. El caso es que tengo un problema, el server tiene activado el SAFE_MODE con lo cual no puedo ejecutar algunas funciones como fopen(); fread(); fclose()… Me preguntaba si sabrías alguna forma de solucionarlo ya que así, guarda la imagen, pero no puede crear el thumb. Te pasteo la salida por si te sirve de algo.
Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is 10067 is not allowed to access /tmp/thumbtemp owned by uid 48 in /home/httpd/vhosts/asordes.org/httpdocs/probas/blob.php on line 68
Warning: fopen(/tmp/thumbtemp): failed to open stream: Success in /home/httpd/vhosts/asordes.org/httpdocs/probas/blob.php on line 68
Warning: filesize(): SAFE MODE Restriction in effect. The script whose uid is 10067 is not allowed to access /tmp/thumbtemp owned by uid 48 in /home/httpd/vhosts/asordes.org/httpdocs/probas/blob.php on line 69
Warning: fread(): supplied argument is not a valid stream resource in /home/httpd/vhosts/asordes.org/httpdocs/probas/blob.php on line 69
Warning: fclose(): supplied argument is not a valid stream resource in /home/httpd/vhosts/asordes.org/httpdocs/probas/blob.php on line 71
Fotos guardadas
Tal vez exista alguna forma de forzar a que se ejecuten estas funciones, o alguna otra forma de crear el thumbnail.
Gracias!!
fabiola
31 de Enero de 2007, 09:47:02 pm
me sumo a todas las felicitacion anterior mente señaladas
pero el cogido de modificar me presenta un error en el header me dice que no se puede modificar la informacion si me pueden ayudar seria genial de ante mano muchas gracias
Carlos
12 de Febrero de 2007, 12:54:30 pm
Hola amigo,
muy interesante tu articulo, es lo k andava buscando, pero me puedes orientar k va dentro de cada archivo y los nombres k les diste, osea como distibuyes el codigo k ofreces en la pagina, de antemano gracias
Oscar
14 de Febrero de 2007, 08:33:44 am
Felicitacion por el código, pero tengo un problema, no con la imagen sino que al momento en que muestro la imagen no puedo mostrar nada mas en esa pagina…solo la imagen. Te agradeceria si puedes ayudarme…gracias.
alex
14 de Febrero de 2007, 04:56:28 pm
Oscar, ese es el precio que se debe pagar por guardar imágenes en la base de datos, para mostrar algo más tienes que usar otra página…
Saludos
Wilmer
15 de Febrero de 2007, 04:03:08 pm
alguien tiene el ejemplo completo??
porfavor si alguien tiene el ejemplo completo se los agradecere un monton… porfa no entendi bien el ejemplo…
gracias
des
16 de Febrero de 2007, 01:51:27 pm
Alguien puede decirme como solucionar el problemita de que no muestra la foto, en su lugar sale un cuadro con una x roja…… ayudaaaaaaaaaa porfis
juan perez
16 de Febrero de 2007, 09:39:59 pm
hola amigos. como puedo subir un archivo .doc(word) con php y mysql..necesito su ayuda.. gracias..
andrea
13 de Marzo de 2007, 06:52:01 am
hola
gracias por los dos articulos, el de guardar el blob y el de mostrarlo en el navegador, realmente me sirvieron muchisimo para mi proyecto.
andrea
13 de Marzo de 2007, 01:05:08 pm
hola, el de mostrar la imagen en el navegador no me muestra ninguna imagen,corro en el navegador y no sale ningun error
solo sale la equis de que deveria estar una imagen, por favor si alguien puede ayudarme enviar a gineth_car@hotmail.com
gracias por la ayuda que me puedan prestar
juanete
13 de Marzo de 2007, 05:41:51 pm
gracias por el aporte!!!
me funciono a la perfección…
mimo
14 de Marzo de 2007, 10:45:39 am
Correccion de anterior:
Hola he probado tu script y si me funciona, puedo guardar imagenes como tambien reportarlas, pero mi consulta es esta:
1. ¿Es mas seguro o mejor guardar una imagen en la BD mysql o guardarla solo en el servidor ?
y otra mas, al guardar las imagenes no estoy guardando su tamaño pero necesito obtener el tamaño(alto y ancho) de una imagen que esta guardada en mi BD mysql.
Encontre esta solucion para imagenes almacenadas en el servidor y si funciona:
$tam = getimagesize(”images/foto.jpg”);
$width=$tam[0]; //obtengo el ancho
$height=$tam[1]; //obtengo el alto
Pero el problema es que yo no tengo almacenada mis imagenes en el servidor sino en la base y entonces intente hacer lo siguiente:
cuando llamo y muestro una imagen si lo muestra, y quiere decir que estabien esa ruta, entonces cuando quiero calcular con esa ruta el tamaño:
$tam = getimagesize(”imagen.php?id=52″);
$width=$tam[0]; //obtengo el ancho
$height=$tam[1]; //obtengo el alto
me sale error:
Warning: getimagesize(imagen.php?id=52)
[function.getimagesize]: failed to open stream: Invalid
argument
2. en que estoy fallando por que llamando una foto con la ruta del servidor si da y con la ruta de la base sale error, por favor, si me pueden dar solucion a este problema.
bytes.
alex
14 de Marzo de 2007, 11:15:33 am
Braulio estará ausente por un buen tiempo, pero intentaré contestarte:
1. Sobre guardar imágenes en la base de datos, depende de lo que estés intentando hacer, ambas maneras tienen ventajas y desventajas.
2.- Falla porque la función getimagesize toma una ruta física, ten en cuenta que “imagen.php?id=52″ NO es una imagen.
Saludos
mimo
14 de Marzo de 2007, 11:33:38 am
claro pero es la direccion para llegar a la imagen, entonces en todo caso cual seria la posible solucion??
alex
14 de Marzo de 2007, 11:56:03 am
Es la dirección para llegar a la imagen, pero desde tu navegador, no desde código de lado del servidor.
Revisa la documentación sobre la forma correcta para llamar a esa función, por lo visto acepta urls válidas.
http://www.php.net/manual/es/function.getimagesize.php
Saludos
Gnomo
19 de Marzo de 2007, 03:10:45 pm
Hola, encontre en los comentarios varias personas que tienen el mismo problema que yo, pero no vi algun comentario al respecto, bueno el problema es que en ves de salir imagen alguna o el cuadro con el tache rojo sale esto: “The image “http://189.145.225.236/xampp/Blob/pruebaBlob.php” cannot be displayed, because it contains errors.”, alguien sabe que puede ser?????
Aqui esta mi correo por si alguien tiene alguna idea luismiguel_gm@yahoo.com.
Muchas gracias
sonic22
15 de Abril de 2007, 06:37:47 pm
Hola, mira, mi consulta es esta…
Supongamos que tenemos
…meta tags…
texto titular
parrafo del texto
mas parrafos
———————————————————-
Me dice que las headers ya estan enviadas, y bueno, logico, porque le estamos pasando por los meta tags que es Text/HTML, pero bueno, como seria para mostrar imagenes y que el navegador interprete el Mime-Type sin tener que usar HEADERS
Un Saludo
Sonic22
We’ll be the “sons of liberty”
alex
15 de Abril de 2007, 07:20:18 pm
Si estás usando el método descrito en este artículo, entonces tienes que crear una nueva página sólo para recuperar una imagen a la vez.
Saludos
ANGELA
19 de Abril de 2007, 02:57:04 pm
NIÑO NO PUEDO FONER MI FOTO EN MI MSN PORFA ME AYUDAS GRACIAS ANGELASANC15@HOTMAIL.COM
Rodrigo
16 de Mayo de 2007, 05:14:58 pm
Encontre que el tutorial es muy bueno… Tengo una consulta:
Todo me resulta bien, pero excepto cuando quiero mostrar las imagenes en tabla.
Necesito saber que es lo que me falta para poder listar en tablas…
PHPablo
19 de Mayo de 2007, 06:28:48 pm
Hola gente, como vi en casos anteriores tambien tengo problemas para ver las imagenes , solo lo puedo hacer en formato ascii en la pagina, que sucede en el codigo que tengo hecho almacena las fotos en una base de datos MySql mediante el codigo PHP las guarda con “id” - “nombre” - “tipo” e ” imagen” esta ultima en un BLOB, yo veia aca que solo a algunos que les han respondido les vi decir, sacale el header, o configura el gd2, o ponele una funcion src…etc etc , el problema es que yo tengo el php.ini bien configurado, header nada por que el codigo que me muestra la imagen esta por fuera, y la imagen no la muestro por src por que yo la pido directamente desde un link es decir cuando se carga la foto en la base nos muestra otra pagina que nos dice ” la foto se ha cargado con el id :”" , el nombre “” si quieres verla has clik aqui : cuando me pasa a la proxima pagina para mostrarla ahi es donde me muestra el codigo ascii de la pagina.
Alguno sabe a ciencia cierta por que sucede esto si es un error del codigo o hay algo mal configurado por parte de la base
la misma es:
CREATE TABLE subir_imagenes (
id int(11) unsigned NOT NULL auto_increment,
nombre varchar(255) default NULL,
tipo varchar(255) default NULL,
imagen mediumblob NOT NULL,
UNIQUE KEY id (id)
) TYPE=MyISAM;
y no creo que este mal por que no es demasiado complicado.
Saludos y espero me puedan dar una respuesta.
Gracias
PHPablo
19 de Mayo de 2007, 06:30:21 pm
perdon arriba se me clavo el href con las palabras que seguian
PHPablo
19 de Mayo de 2007, 06:32:36 pm
el mismo es este : href=”imagen.php?id=’ . $id .’”
eva
6 de Junio de 2007, 05:16:10 pm
Bueno gracias por el script muuuuuuuuuuuuuuuchas gracias
ahora estoy viendo como adjunto otras cosas que queria ponerle gracias
xoft
12 de Junio de 2007, 03:29:00 pm
Tengo una duda…
yo no tengo el thumbail por que no lo necesito ..pero si necesito mostrar la foto y todo funciona pero ahora se me ocurrio hacer 2 fotos en una tabla 2×2 …que en la posicion 1.1 este la primera foto y en la posicion 2.2 este la segunda foto …lo raro es que cuando quiero hacer las tablas o hago algun intento todo cambia a ascii….y me sale la foto en texto …. como puedo solucionar ese problema ??? alguna pista ?
De ante mano Muchas Gracias por la ayuda…
adios.
yo
15 de Junio de 2007, 08:45:35 pm
$idfoto = (isset($_GET[”idfoto”])) ? $_GET[”idfoto”] : exit();
Cuando se recibe la variable idfoto por método G