Jump to content


Photo

Campo Blob, Erro Na Exibicao


  • Faça o login para participar
10 replies to this topic

#1 MastersRoX

MastersRoX

    EDITADO

  • Banidos
  • PipPipPipPipPipPipPipPip
  • 774 posts
  • Sexo:Não informado

Posted 29/12/2006, 16:25

ae galera !

to inserindo uma imagem assim:

<? include("info.php");
// ARQUIVO QUE SERÁ INSERIDO NO BD E VISUALIZADO
$arquivo = "topo.jpg";
// ABRINDO ARQUIVO NO MODO LEITURA
$Abrir = fopen ($arquivo, "r");
// LENDO O ARQUIVO TODO
$Ler = fread ($Abrir, filesize ($arquivo));
// MODIFICANDO CARACTERES ' " PARA SEREM ACEITOS NA QUERY
$Ler = addslashes ($Ler);
// INSERINDO O CONTEÚDO DO ARQUIVO
mysql_query ("INSERT INTO imagem VALUES ('','$Ler')") or die (mysql_error ());
// BUSCANDO O CONTEÚDO DA IMAGEM NO ÚLTIMO REGISTRO
$Sql = mysql_query ("SELECT imagem FROM imagem ORDER BY id DESC LIMIT 1") or die (mysql_error ()); $x = mysql_fetch_array ($Sql);
// EXIBINDO A IMAGEM
echo $x[0];

?>


mas nao imprime a imagem... imprime um monte de caracteres:

ÿØÿàJFIFHHÿÛC       ÿÛC  ÿÀžíÿÄÿÄH !1Ñ"AQRa‘2Sq’#4B±3bs¡²$Ccr‚Áð%&5T¢³ÂñÿÄÿÄ7 !1AQa"2qB¡#R‘±ÁÑáðbr‚3ñÿÚ ?úPEºÚ ëY$¼ÎÃ1¥©Y²ûc»·ˆ¿æ7ðoé&ì”- Nd(”“àe¨Œvàs#’9µ-C0Ûy§/‘Dvâ@=y“í)Ãl•u—gÈ 7^i«gU¯Àr22¹p0€èã­¶›¬ì\r…¥i%$î“à`;ã2okëÜi}•9»%u˳äÐv³Œ£ÄtâS£®©P#ʦ™2Kh?ñWU?."ö ¯ÖžZÿÝ¡¬ÙH©Õ¶‡"kŽÉ©Fƒ ¿ÑBˆ“^{üeè²/ò޾->š±Ò³iõŸí &e­6MÄ.....


pq será ??

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 29/12/2006, 18:29

Experimente especificar no cabeçalho.

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

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 MastersRoX

MastersRoX

    EDITADO

  • Banidos
  • PipPipPipPipPipPipPipPip
  • 774 posts
  • Sexo:Não informado

Posted 02/01/2007, 10:41

consegui exibir tds as imagems do bd !

agora, precizo saber como MANIPULAR o tamanho da IMAGEM!

até agora fiz assim:

cria.php

$coneccao = mysql_connect($host , $user , $senha ) or die ("Erro ao se conectar ao mysql ... ");
$coneccao_bd = mysql_select_db($bdx)or die ("Erro ao se conectar a base de dados ... ");
// Gera a imagem do campo BLOB do bd -------------------------------------------------------------
$id = $_GET['id'];
$sql = "SELECT * FROM tb where id_imagem='$id'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
header("Content-type: ".$row['tipo_imagem']."");
echo $row['dados_imagem']; // campo onde a img esta gravada
}


exibe.php

$sql = "SELECT * FROM tb";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
echo "<img src='cria.php?id=".$row['id_imagem']."'>";
}



ao entrar na exibe.php... ele mostra tds as imagems do BD... LINDO!
mas ele mostra elas no tamanho REAL (e com os bytes tbm)!!

precizo de algum modo, fazer com elas sejam impressas 50% (por exemplo) do seu tamanho real, e que o tamanho em bytes tbm diminua!

tentei usar:

list($width, $height, $type, $attr) = getimagesize("cria.php?id=".$row['id_imagem']."");
mas nao funfa.. da erro! Warning: getimagesize: Unable to open 'cria.php?id=5' for reading.


é isso!
vlww!

Edição feita por: MastersRoX, 02/01/2007, 12:00.


#4 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 03/01/2007, 10:02

Redimensionar na exibição não irá diminuir os bytes.

A melhor solução pelo que vejo, é ter miniaturas das imagens, mas claro, geradas uma única vez e salvas.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#5 MastersRoX

MastersRoX

    EDITADO

  • Banidos
  • PipPipPipPipPipPipPipPip
  • 774 posts
  • Sexo:Não informado

Posted 03/01/2007, 11:18

uhh... i como eu faço pra pegar o tamanho das imagens ? ja q com o getimagesize nao consegui ... !? salvar o tamanho delas no bd ??

#6 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 03/01/2007, 12:04

Procura no fórum por THUMB ou MINIATURA de IMAGENS como o Eclesiastes mesmo disse!

OBS: você irá precisar abilitar a biblioteca GD2

T+
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#7 MastersRoX

MastersRoX

    EDITADO

  • Banidos
  • PipPipPipPipPipPipPipPip
  • 774 posts
  • Sexo:Não informado

Posted 04/01/2007, 14:52

Procura no fórum por THUMB ou MINIATURA de IMAGENS como o Eclesiastes mesmo disse!

OBS: você irá precisar abilitar a biblioteca GD2

T+



entao... antes eu estava armazenando fotos via FTP... ai salvava apenas o nome da foto no campo da tabela... tbm criava uma thumb e salvava o nome dela em outro campo.

mas agora to salvando as fotos no BD, em campo BLOB.
quero saber como faz pra saber as dimensões das fotos salvas.

tentei usar o getimagesize mas nao deu.

fazia assim:
list($width, $height, $type, $attr) = getimagesize("fotos/$foto");
$largura = $width / 2; // mostra a metade da largura
$height = $width / 2; // mostra a metade da altura

agora tentei:
list($width, $height, $type, $attr) = getimagesize("galeriav.php?id=$id");

mas da erro Warning: getimagesize: Unable to open 'galeriav.php?id=4' for reading

Edição feita por: MastersRoX, 04/01/2007, 15:00.


#8 USMattos

USMattos

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 22/01/2007, 08:53

Preciso urgentemente dessa função para gravação e exibição, mas com banco PostgreSQL :o

#9 igDesigner

igDesigner

    Normal

  • Usuários
  • 80 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 10/10/2007, 09:34

Preciso mostrar na tela text que vem do campo Blob no Firebird com PHP.

o comando ibase_blob_echo exibe na tela mas não no local correto.

no local correto aparece o nº 1.


Alguem sabe como manupular campo BLOB
Ignázio Lombardo
ignazio@sideinfo.com.br

#10 revsouza

revsouza

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Masculino
  • Localidade:Campinas

Posted 26/01/2015, 10:26

Pessoal, estou tentando fazer o mesmo que o amigo: MasterRoX.

 

Tento exibir todas as imagens do meu db, porém ele exibi apenas a primeira, uso este código atualmente:

 

<?php 

mysql_connect("localhost","root","Sat3t3ll") or die("Impossível conectar ao banco."); 
@mysql_select_db("tv") or die("Impossível conectar ao banco."); 
$result=mysql_query("SELECT * FROM mensagem") or die("Impossível executar a query "); 

while ($row=mysql_fetch_object($result)) 

Header( "Content-type: image/gif"); 
echo $row->img; 

?>
 

Porém, tentei com o código do amigo acima e retorna todas as imagens, mas ele repete a primeira para as outras, se tenho uma imagem de pinguim no primeiro id, ele repete a mesma imagem para os id's seguintes.

 

Alguem pode me ajudar?



#11 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 28/01/2015, 08:37

Revsouza, bom dia!

 

Então este tópico é de 2007 rsrs

 

Primeiro deixe o "header();" fora do loop (while)

Header( "Content-type: image/gif"); 
while ($row=mysql_fetch_object($result))  { 
echo $row->img; 
}

 

Segundo, o que exatamente é gravado no banco de dados? a imagem em sí ou a tag HTML da imagem com o caminho?


-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq