Re: [PHP-ES] Guardar imagen en bd y luego sacarla.
[email protected] (Pablo Braulio)
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <[email protected]> |
Hola.
El código que me has puesto funciona perfectamente para el jpg.
El caso es que lo que necesito guardar y sacar son tanto archivos jpg,
como svg.
En html el svg se ve de este modo:
<object data="ruta/archivo.svg" type="image/svg+xml"></object>
He probado con lo siguiente pero no se ve:
<?php
$con= pg_connect("host= localhost dbname= aldiges_prod user= pablo
password= capgirall");
$sel= 'select * from regaccesos_graf_totalregistros';
$q= pg_query($sel);
while($row= pg_fetch_array($q)){ $graf=
pg_unescape_bytea($row['grafico']);
echo '<object data="'.base64_encode($graf).'"
type="image/svg+xml"></object>';
}
?>
A lo mejor habrÃa que guardarlo en algún directorio, ¿no?.
Gracias por la ayuda.
Philipp Keweloh escribió:
> Perdona, el código estaba incompleto:
>
> echo "<img src=\"data:image/jpeg;base64,".base64_encode($graf)."\" />";
>
> --
> Philipp Keweloh
>
> 2010/3/15 Philipp Keweloh <[email protected] <mailto:[email protected]>>
>
> Hola Pablo:
>
> Puedes hacerlo codificando la imagen en base64 y utilizar el esquema
> data [1] para introducirlo directamente en el atributo "src" de la
> imagen, es decir:
>
> <img src="data:image/jpeg;base64,".base64_encode($graf)."\" />
>
> Y luego ya el resto de marcado para los textos.
>
> A ver si ahora si te sirve.
>
> [1] http://es.wikipedia.org/wiki/Data:_URL
>
> --
> Philipp Keweloh
>
> PD: Por favor, no olvides responder siempre a la lista para no
> truncar el hilo.
>
> El 15 de marzo de 2010 23:02, Pablo Braulio <[email protected]
> <mailto:[email protected]>> escribió:
>
> ¿A que te refieres con el marcado html?.
>
> ¿Con una etiqueta <img >?. En tal caso supongo que antes habrÃa
> que guardarlo en algún directorio.
>
> Si estoy equivocado, estarÃa bien saberlo.
>
> Gracias por tu comentario.
>
> Philipp Keweloh escribió:
>
> Hola Pablo.
>
> Pues sólo se me ocurre con marcado HTML, o bien XML si no es
> para humanos.
>
> --
> Philipp Keweloh
>
> El 15 de marzo de 2010 20:45, Pablo Braulio
> <[email protected] <mailto:[email protected]>
> <mailto:[email protected] <mailto:[email protected]>>> escribió:
>
>
> Si, eso ya lo habÃa probado.
>
> Yo lo que quiero es que la muestre junto con otros datos
> de texto.
> No que muestre sólo la imagen.
>
> ¿Se puede hacer eso?.
>
> Philipp Keweloh escribió:
>
> Hola Pablo.
>
> Especifica el Content-type en la cabecera para que lo
> entienda
> el navegador:
>
> header("Content-type: image/jpeg");
>
> A ver si es eso, un saludo.
>
> -- Philipp Keweloh
>
> El 15 de marzo de 2010 18:58, Pablo Braulio
> <[email protected] <mailto:[email protected]>
> <mailto:[email protected] <mailto:[email protected]>>
> <mailto:[email protected] <mailto:[email protected]>
>
> <mailto:[email protected]
> <mailto:[email protected]>>>> escribió:
>
>
> Hola a todos.
>
> Estoy tratando de guardar un archivo en mi base de
> datos
> postgresql,
> y luego poder visualizarla. Concretamente lo que estoy
> tratando de
> hacer es guardar un archivo jpg y otro svg.
>
> Este es el código para el insert:
>
> <?php
> $con= pg_connect("host= localhost dbname= nombredb
> user= pablo
> password= XXXXX");
>
> $fp= fopen('logo_videovigilancia.jpg', 'rb');
> $buffer= fread($fp,
> filesize('logo_videovigilancia.jpg'));
> $archivo= pg_escape_bytea($buffer);
> fclose($fp);
>
> $insert= 'insert into
> regaccesos_graf_totalregistros(informe,
> grafico) values(28, \''.$archivo.'\')';
> $q= pg_query($insert);
>
> if($q): echo 'Correcto'; else: echo 'Mal'; endif;
>
> ?>
>
> Creo que la insercción se hace bien.
>
> Para mostrarlo.
>
> <?php
> $con= pg_connect("host= localhost dbname= nombredb
> user= pablo
> password= XXXX");
>
> $sel= 'select * from regaccesos_graf_totalregistros';
> $q= pg_query($sel);
>
> while($row= pg_fetch_array($q)){ $graf=
> pg_unescape_bytea($row['grafico']);
>
> echo $row['id'].'<br>';
> echo $row['informe'].'<br>';
> echo $graf;
> }
>
> ?>
>
> Esto me muestra caracteres en lugar de la imagen.
>
> He buscado información sobre esto y no lo consigo.
>
> ¿Alguna idea?.
> -- Saludos cordiales.
> Pablo.
>
> -- PHP Spanish Localization Talk Mailing List
> (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
> -- Saludos cordiales.
> Pablo.
>
>
> --
> Saludos cordiales.
> Pablo.
>
>
>
--
Saludos cordiales.
Pablo.