Ir para conteúdo

POWERED BY:

Arquivado

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

Reilan Ribeiro

Exibir imagem blob

Recommended Posts

quem descobri algum erro??? nao to conseguindo exibir a imagem do usuario logado sendo q a imagem esta no bd , BLOB, ja fiz do jeito basico com o link da imagem e consegui mas queria exibir pelo bd BLOB...


<?php


$username = "usuario";


$password = "senha";


$host = "localhost";


$database = "bd";


@mysql_connect( $host, $username, $password) or die("Erro ao conectar ao


database: ".mysql_error( ));


@mysql_select_db($database) or die("Não foi possível selecionar o database:


".mysql_error( ));



$usuario = $_SESSION['MM_Username'];

//$usuario = $_GET['usuario'];



$query = mysql_query( "SELECT * FROM funcionario WHERE usuario='" .$usuario."'") ;


$row = mysql_fetch_array($query) ;


$type = $row['type'] ;


$content = $row['image'];


$name = $row['name'] ;


//print $type;


//print $name;


header('Content- type: image/jpg') ;




echo $row['image'];


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

VocÊ tem que avisar ao navegador o tipo de conteúdo que você quer exibir... pode ser feito essa comunicação com o HEADER(); após a query.

 

 

 

 

 

header("Content-type: image/".$type."");
echo $content;

 

 




			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não foi porque não fez certo. :sleep:

 

Você sabe o que está fazendo ? como fez ? como está gravando os dados no campo blob ? tem todo um processo amigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo eu preciso q quando o usuario logar apareça a foto dele... so q ta salvo no bd em BLOB e nao to conseguindo associar o usuario com a foto e nem conseguindo exibir a foto.. entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Volto a repetir.

 

Já te disse o que fazer, agora basta você dar uma estudada, focar seu cérebro para o que você quer, pronto.

 

Da uma estudada cara... se você está gravando corretamente os dados no campo blob, basta dizer ao broswer o tipo de arquivo e printar o mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O campo que armazena a imagem precisa ser LONGBLOB

CREATE TABLE `imagens` (
`id` int(10) NOT NULL auto_increment,
`imagem` longblob,
`tipo` varchar(32) default NULL,
PRIMARY KEY (`id`)
)

O que você vai inserir no campo BLOB ?

 

isso:

 

 

 

$img = addslashes(fread(fopen($_FILES['file']['tmp_name'], "r"), $_FILES['file']['size']));


$query = sprintf("INSERT INTO imagens(imagem, tipo) VALUES ('%s', '%s')", $img, $_FILES['file']['type']);


mysql_query("$query");

Compartilhar este post


Link para o post
Compartilhar em outros sites
essa é a pagina gera.php coloquei ali o nome para força a mostra a img


<?php

require_once('Connections/intranet.php');



$sth = mysql_query("SELECT * FROM funcionario WHERE usuario = 'nome'");


while ($row = mysql_fetch_object($sth)) {

$arq_destino = 'foto'.$row->foto.'.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 '<tr><td colspan="2"><div align="center"><img src="'.$arq_destino.'"></div></td></tr>';

echo '<tr><td colspan="2"><div align="center">'.$row->descricao.'</div></td></tr>';

}

header('Content-type: image/jpeg');

imagejpeg($img);

?>





Aqui na index onde eu quero q mostre


echo "<img src='gera.php?cod_imagem='nome' />";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou mostrar pela última vez e você terá que estudar mais sobre o que está tentando fazer.

 

Sua forma de exibir a imagem está incorreta, o certo é você passar o ID da imagem para a página processar este, ou então faz a listagem direta, como você quer abrir uma imagem específica, fiz baseado no seu link.

 

 

 

 

 

 

 

<?php

// gera.php?cod_imagem=id_imagem

$buscaIMG = mysql_query(sprintf("SELECT * FROM imagens WHERE id_imagem = %d", $_GET['cod_imagem']));

$row = mysql_fetch_array($buscaIMG);



header(sprintf("Content-type: %s", $row['tipo']));



print $row['imagem'];
?>

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.