Mostrar imagen contenida en base de datos
4 seguidores
Hola,
tengo una base de datos donde inserto imagenes (jpg / gif), que ya sé que no debería hacerlo de esa manera, pero... El tema es que no sé como mostrar esas imagenes a través de la etiqueta <code><img></code>, el tipo de imágenes que se insertan en la tabla son jpg y gif ¿como puedo mostrar esas imagenes almacenadas en la base de datos en mi html?
Gracias anticipadas.
zigotica
ok
abre un post nuevo para el random
lazyroy
Gracias Zigotica,
he leído tus posts, he vuelto a releer los documentos de php y tras probar como un campeón he solucionado el problema, ahora tengo que solucionar el problema con el fondo de un div que cambia aleatoriamente a través de un archivo php tal que
<code>header("Content-type: text/css");
$array = glob("img/img-intro/{*.jpg,*.gif}", GLOB_BRACE);
$aleatoria = $array[array_rand($array, 1)];
?>
div#contenidoprincipal {
background: url('<aleatoria>') 5px 5px no-repeat;
} </code>
Pero de momento no funciona.
A ver si consigo solucionarlo, pero ya es un problema menor...
Uf, me he quitado un peso de encima.
Gracias por tu ayuda.
A ver si ahora soluciono eso.
zigotica
vuelve a leer mis posts, anda, que tienes la respuesta ahi. es cosa de los global. hasta te he puesto un enlace para que te iluestres (=documentes)
lazyroy
Pues no sé, he puesto el echo Y NO SALE NADA... no pone ni error ni nada por el estilo, sale la página de resultado donde debería decir si lo ha insertado o no correctamente y del echo "ni flowers", nada...
Si tu te rindes, imaginate yo, estoy loco...
zigotica
yo me rindo
quieres poenr el echo de una vez? asi veras que el problema es el globals off
lazyroy
No uso plantillas de smarty ni ningún otro tipo de plantillas, es un pequeño CMS hecho por mí para una pequeña web.
Te dejo el código del formulario y el del script que recoge las variables del formulario, está en este enlace:
http://www.goldamn.net/gd/script+form.txt
Voy a seguir probando a ver si arreglo algo.
Si le veis algo mal os agradecería que me lo dijeraís.
Gracias.
;)
zigotica
si estas usando plantillas smarty, leete el manual, dice cómo hacerlo para el safe mode = on
si no es eso, pega aqui el php de la pagina que recibe el formulario. o haz lo que te he dicho antes, en la pagina que recibe el formulario pin un echo con los valores del formulario:
echo "campo1: $_POST['campo1'] ...";
(lo mismo para el _FILES si has enviado una imagen, para el _SERVER si estas definiendo una ruta, etc).
y luego te lees esto tambien:
http://es.php.net/variables.predefined
creo que deberias tener suficiente :)
lazyroy
si, los globales están en off, la configuración del servidor es esta:
http://www.goldamn.net/gd/prueba.php
Veo en esa configuración REQUEST_METHOD: GET yo estoy usando tanto en el formulario como en el script POST, en el script "if REQUEST_METHOD == "POST"" no sé si eso será parte del problema...
Estoy un tanto perdido...
zigotica
entonces será cosa de los global, los tendrás en off. comprueba con un echo que recibes los datos. si no los recibes es eso, y busca en el foro o en google, se ha hablado siene y siene de veces.
lazyroy
he comprobado lo de las rutas y creo que estan correctas por que tampoco insertan los datos en la tabla, y los permisos tengo todo ok, chmod 777 en las carpetas donde subir las imagenes incluso los archivos php con chmod 777 por si acaso...
:(
zigotica
eso será pq las rutas estan mal o no tienes permisos para guardar imagenes en la carpeta adecuada
lazyroy
zigotica
yo personalmente guardaria la RUTA de la imagen en la bbdd pero no la imagen en si (los BLOB suelen ser un coñazo)
Eso es lo que quería hacer, guardar solo el nombre del archivo en la base de datos y subir la imagen (sea jpg o gif) a una carpeta en el servidor, tengo un script que me funciona de esa manera en una web que tengo en un servidor, pero el mísmo script no me funciona en esta web que está alojada en otro servidor. En definitiva, llevo semanas buscandole una solución o alternativas y no tengo resultados...
En fin...
:(
zigotica
yo personalmente guardaria la RUTA de la imagen en la bbdd pero no la imagen en si (los BLOB suelen ser un coñazo)
krlvisual
Necesitas hacer una página PHP que acceda a la base de datos, meta la info binaria de la imagen en un fichero temporal en el servidor y te devuelva el nombre del fichero temporal que has creado.
La página que muestra la foto puede funcionar de varias formas:
- Puede ser la misma pagina php que crea la foto. (recomendado)
- Puede ser otra página a la que le envias por GET o POST el nombre de la foto.
- O una página que incluye el otro fichero php.
-...
dagi3d
yo lo que haría sería una fichero php aparte que se encargase de obtener el campo blob de la base de datos, mandar las cabeceras de que está enviando una imagen y luego mostrar el contenido del campo. luego en tu código html tan sólo tendrías que llamar a la imagen con algo parecido a
<code>
<img src="/imagenes.php?id=1" alt="imagen">
</code>