Logo Hardware.com.br
leo2005
leo2005 Membro Senior Registrado
331 Mensagens 1 Curtida

Mostrar Imagem Via Php Diretamente Do Mysql

#1 Por leo2005 16/03/2007 - 14:21
Por favor me ajudem!
Estou tentando colocar uma imagem jpeg armazenada num banco de dados Mysql como blob diretamente na minha pagina.
Só consigo isto se antes salvar a imagem como arquivo e depois puxar de volta, mas isto está gerando muitas coisas repetidas.

Se tento:
header('Content-type: image/jpeg');
imagejpeg($img);

dá erro na linha header('Content-type: image/jpeg'); e depois em vez de aparecer uma foto, aparece uma string enorme.
Esta imagem ficam dentro de uma tabela com outras informações.

o que fiz mas não gostei, mas funciona e:
$sth = mysql_query("SELECT * FROM fotovenda WHERE idvenda = ".$_GET['REG']);
while ($row = mysql_fetch_object($sth)) {
$arq_destino = 'Blob'.$row->idfoto.'.JPG';
$conteudo_blob = $row->foto;
$img_blob = imagecreatefromstring($conteudo_blob);
imagejpeg($img_blob, $arq_destino)or die('No foi possvel criar o arquivo ' . $arq_destino . '.');
echo '
'.$arq_destino.'
';
echo '
'.$row->descricao.'
';
}

Alguém tem alguma sugestão melhor para mostrar diretamente a imagem sem ter que gravar antes num arquivo???adeus.gifadeus.gifadeus.gifadeus.gifadeus.gif
prk_83
prk_83 Super Participante Registrado
370 Mensagens 13 Curtidas
#2 Por prk_83
16/03/2007 - 15:24
leo2005 disse:
Se tento:
header('Content-type: image/jpeg');
imagejpeg($img);

dá erro na linha header('Content-type: image/jpeg');
Normalmente os erros na função header é por causa q está imprimindo alguma coisa antes de usar essa função. Ela deve estar antes de qualquer saída pra tela (inclusive espaços em branco).

Veja se tem algum print ou echo antes da função.
flw!!
leo2005
leo2005 Membro Senior Registrado
331 Mensagens 1 Curtida
#3 Por leo2005
16/03/2007 - 16:27
Existe sim, um monte de informação antes!
Existe tabelas com muitas informações em HTML antes!
Esta não é uma função php?
Onde devo coloca-la para que não dê erro e mesmo assim funcione e não apareça no lugar da foto um monte de caracteres?

Desde já agradeço por qualque ajuda, e que sou novo em php e tenho que integrar php e mysql com um sistema em Delphi com Firebird e só falta este detalhe!!!
1-Athlon64x2 3800+,nvidia 6200,1,5 GB de RAM
2-Athlon 2800+, nvidia 5200, 1GB de RAM
3-Athlon 2800+, nvidia 4400, 512MRAM
4-Acer Aspire One com 120G de HD e 1GB de RAM
5-Asus eeepc701 com 1GB de RAM
prk_83
prk_83 Super Participante Registrado
370 Mensagens 13 Curtidas
#4 Por prk_83
16/03/2007 - 17:09
leo2005 disse:
Onde devo coloca-la para que não dê erro e mesmo assim funcione e não apareça no lugar da foto um monte de caracteres?
Minha sugestão é q vc coloque essa parte da criação da imagem em um arquivo separado (ex: imagem.php) sem nehum código HTML.
E pelo código HTML chama esse arquivo. Assim:
<img src="imagem.php?cod_imagem=1" />
Entendeu? Qualquer dúvida é só postar!
Flw!!
leo2005
leo2005 Membro Senior Registrado
331 Mensagens 1 Curtida
#5 Por leo2005
16/03/2007 - 18:48
Funcionou!
Deu um trabalho, pois já que tive que separar, tive também que fazer uma nova consulta no BD, mas funcionou!!!

Valeu mesmo, muito, mas muito obrigado pela a sua ajuda, pois isto já estava me tirando o sono algumas noites!!!
1-Athlon64x2 3800+,nvidia 6200,1,5 GB de RAM
2-Athlon 2800+, nvidia 5200, 1GB de RAM
3-Athlon 2800+, nvidia 4400, 512MRAM
4-Acer Aspire One com 120G de HD e 1GB de RAM
5-Asus eeepc701 com 1GB de RAM
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal