Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cha0s

[Resolvido] De BLOB para JPEG

Recommended Posts

Opa, beleza?

Estou tentando mostrar as imagens armazenadas em um banco, convertendo o binário para JPEG e exibindo.

Meu problema é que só consigo exibir a primeira imagem do banco de dados, as restantes são ignoradas.

Segue meu código, e desde já obrigado pela ajuda.

<?php 
error_reporting(E_ALL); 

$minha_tabela	= 'table'; 
$minha_imagem	= 'example.jpg'; 
$meu_server	= 'localhost'; 
$meu_usuario 	= 'root'; 
$minha_senha    = 'mysql'; 
$meu_banco   	= 'local'; 

$meu_link   = mysql_connect($meu_server, $meu_usuario, $minha_senha) 
	or exit('Could not connect (' . mysql_errno() . '): ' . mysql_error()); 

$my = mysql_select_db($meu_banco, $meu_link) 
	or exit('Could not select database (' . mysql_errno() . '): ' . mysql_error());  

$linha = mysql_fetch_array(mysql_query("SELECT capa FROM $minha_tabela")); 
 

header("Content-type: image/jpg");
print $linha['capa'];  
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente fazer um loop para pegar os outros valor do DB.

Tente:

<?php 
(...)
$my = mysql_select_db($meu_banco, $meu_link) 
        or exit('Could not select database (' . mysql_errno() . '): ' . mysql_error());  

 $q = mysql_query("SELECT capa FROM $minha_tabela");

header("Content-type: image/jpg");
while($linha = mysql_fetch_array($q)){
print $linha['capa'];  
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmmmm, parece que pelo header enviado só aceitará renderizar uma imagem (ou melhor: apenas uma saída)

Bom, a solução que eu vejo é utilizar HTML. Ou você quer que abra deste jeito? (o que parece impossivel)

Compartilhar este post


Link para o post
Compartilhar em outros sites

@lucaswxp

 

Putz, tempo perdido no script...

Vou usar o que der certo, se tiver algum exemplo ou material que possa ajudar, valeu;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, é complica, pelo jeito que pensei aqui você teria que transformar tudo que está no DB em imagens para alguma pasta.

Ai é só pegar as imagens desta pasta e colocar entre as tags <img src="" /> que elas aparecerão.

um exemplo para transformar tudo que esta no DB:

<?php 
error_reporting(E_ALL); 

$minha_tabela   = 'table'; 
$minha_imagem   = 'example.jpg'; 
$meu_server     = 'localhost'; 
$meu_usuario    = 'root'; 
$minha_senha    = 'mysql'; 
$meu_banco      = 'local'; 

$meu_link   = mysql_connect($meu_server, $meu_usuario, $minha_senha) 
        or exit('Could not connect (' . mysql_errno() . '): ' . mysql_error()); 

$my = mysql_select_db($meu_banco, $meu_link) 
        or exit('Could not select database (' . mysql_errno() . '): ' . mysql_error());  

 $q = mysql_query("SELECT capa FROM $minha_tabela");

    while($linha = mysql_fetch_array($q)){
        $img = $linha['capa'];
        file_put_contents(md5(microtime()) . '.jpg' , $img);
    }
?>
Isto iria transformar tudo q esta no db em imagens para a pasta "pasta/nomeimg.jpg", mas so com o formato jpg, você poderia fazer alterações para pegar outros tipos.

Ai depois bastaria pegar o que tem nesta pasta em por nas tags <img /> =D (se tiver dificuldade posta)

 

OBS: Acho que este seria o melhor (ou unica, nao sei xD) de se fazer o que você qr, caso haja outro

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.