[firebase-br] OFF - PHP + FIREBIRD + foto

marcelo - teflamar marcelo em teflamar.com.br
Ter Dez 7 11:52:56 -03 2010


um pequeno exemplo, php x firebird, campo blob para armazenamento de fotos

CREATE TABLE TESTEFOTO (
     COD INTEGER NOT NULL PRIMARY KEY,
     FOTO BLOB sub_type 0 segment size 80,
     TEXTO VARCHAR(50));

// programa para importação da foto para o banco de dados firebird
<?php
$conn = ibase_connect('localhost:/home/dados/banco.fdb', 'sysdba', 
'masterkey');
$filename = './foto1.jpg'; // arquivo/foto na pasta/diret corrente
$fd = fopen($filename, 'r');
if ($fd)
{
     $blob = ibase_blob_import($conn, $fd);
     fclose($fd);
     if (!is_string($blob))
     {
         echo "erro de importação";
         return 0;
     }
     else
     {
         $query = "INSERT INTO TESTEFOTO (COD,FOTO) VALUES (1, ?)";
         $prepared = ibase_prepare($conn, $query);
         if (!ibase_execute($prepared, $blob))
         {
             echo "erro de insert";
             return 0;
         }
         else { echo "ok";}
     }
}
else
{
     echo "erro abertura arquivo";
}
?>


// recuperando imagem gravada banco firebird
<?php
   $conn  = ibase_connect('localhost:/home/dados/banco.fdb', 'sysdba', 
'masterkey');
   $query = "select FOTO from TESTEFOTO WHERE COD=1";
   $res = ibase_query($conn, $query);

   $registro = ibase_fetch_assoc($res, IBASE_TEXT);
   $conteudo_blob = $registro["FOTO"];
   $img_blob = imagecreatefromstring($conteudo_blob);

   // as 2 linhas abaixo criam o arquivo, salvando-o em disco
   //$arq_destino = 'foto3.jpg';
   //imagejpeg($img_blob, $arq_destino)or die('Não foi possível criar o 
arquivo ' . $arq_destino . '.');

   // as 2 linhas abaixo exibem o arquivo no browser
   // para obter a imagem em outro arquivo <img src="este_programa.php">
   header("Content-type: image/jpeg");
   echo $conteudo_blob;
?>

/* use radphp e seja feliz! vai bem com firebird, vai bem com mysql, vai 
bem com oracle, vai bem com tudo!
*/
marcelo luiz stefaniak


Em 06/12/2010 22:58, Lista Firebase escreveu:
> Boa Noite Pessoal,
>
> sei que aqui há varios usuarios PHP, e gostaria de saber se alguem ja 
> conseguiu exibir uma imagem
>
> salva em BLOB no PHP.
>
> eu tentei utilizar um codigo que nao me da erro, mas nao exibe a 
> imagem rsrsrs
>
> Agradeço quem souber .
>
> Abs
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>





Mais detalhes sobre a lista de discussão lista