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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.