[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