Jump to content


Photo

Como Gravar Imagens No Banco De Dados


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

#1 Allisson

Allisson

    12 Horas

  • Usuários
  • 239 posts
  • Sexo:Masculino
  • Localidade:Alagoas
  • Interesses:PHP

Posted 31/08/2005, 20:15

Olá amigos estou com uma pequena dúvida! :lol:

eu criei uma tabela no bd com os campos
-TITULO DA NOTICIA
-SUBTITULO DA NOTICIA
-NOTICIA
-IMAGEM

e um formulario para inserir os dados em cada campo até ae tudo bem!. so que quando vou inserir a imagem nao salva no bd!


O tipo do campo no banco de dados é BLOB e o tipo de campo no formulário é FILES. So que ela nao esta sendo inserida no bd

Para pegar os dados digitados no campo eu estou usando $_POST['nomedocampo'] e para pegar a imagem estou usando $_FILES['nomedocampo'].


Obrigado ;)
Allisson Rafael de Brito Araujo

Devagar e sempre. Se Deus é por nós, quem será contra nós?

#2 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 31/08/2005, 20:22

Os campos do tipo BLOB realmente são para armazenar aquivos porém temos algumas desvantagens com eles, uma delas seria a seguinte se voce tiver que listar alguns registros o seu laço(while, for ...) pode ficar tao grande que o server pode travar ou ainda demorar muito tempo para processar...

Mas referente ao teu caso:

Para armazenar algum arquivo em seu banco voce precisa fazer um tratamento "especial" com o arquivo...

faça uma busca por BLOB ou armazenar arquivos já existem alguns topicos sobre o assunto.


Falopa!

#3 Rauffer

Rauffer

    Normal

  • Usuários
  • 76 posts
  • Sexo:Masculino
  • Localidade:Garopaba - SC

Posted 31/08/2005, 20:30

Posta o código ae...

ta usando a função move_uploaded_file() ?
Bacharel em Sistemas de Informação

#4 Subzero

Subzero

    Ativo

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

Posted 31/08/2005, 20:35

Boa noite amigo Allisson

Bom eu geralmente ( e muitos) não gravo as imagens propriamente dito no mysql, e sim apenas o caminho dele + o nome do arquivo, assim vc ganha mais rapidez no banco sendo que não vejo a necessidade de gravar ela no bd.

Apenas recupere o caminho de onde está indo o arquivo + o nome do arquivo.

Espero ter ajudado (y)

#5 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 31/08/2005, 21:08

cara, ha muito tempo discutimos esse assunto e ele sempre volta a tona

vc pode sim gravar imagens no bd sem problema, mas vc tem uma limitaçao do campo blob, que se nao me engano(nao pesquisei, mas certamente tem no manual do mysql) é de 64kbytes(65535bytes)
ou sejam uma imagem de 70k fica truncada e nao sera exibida direito

a vantagem é que apagando o registro vc apaga a imagem, o que gravando apenas o caminho, vc, alem de apagar o registro, precisa do unlink pra apagar o arquivo

a desvantagem é a limitaçao e a complexidade do metodo... a limitaçao do tamanho de um arquivo é muito maior que os 64k de um campo blob :)


veja um exemplo pratico:


Autor: João Carlos Agostini (---.dsl.telesp.net.br)
Data: 13/06/2003 21:18

Olha achei este script num CD da Geek, acho que não resolve propriamente o que você gostaria de fazer, mas acho que ajuda a achar algum caminho para isso.
################################################
Como adicionar uma imagem ao MySQL?

Primeiramente, vamos criar uma tabela no Banco de Dados:

CREATE TABLE imagens (
codigo INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
formato VARCHAR(255) NOT NULL,
imagem BLOB NOT NULL
);

Pronto, agora iremos criar o script que vai envia-la para o Banco de Dados:

upload.php

<?
$caminho = "/caminho/para/a/pasta/"; // Coloque o caminho do servidor para a pasta onde as imagens vao ficar.
if(empty($file)) {
?>
<form method="POST">
Imagem: <input type="file" name="file"><br>
Formato: <select name="formato">
<option value="gif">Gif</option>
<option value="jpeg">Jpg</option>
</select><br>
<input type="submit" value="Enviar">
</form>
<?
} elseif(!empty($file)) {
$arq = $file_name;
if(move_uploaded_file($file."/".$arq, $caminho."/".$arq)) {
$abre = fopen($caminho."/".$arq, "r");
$le = fread($abre, filesize($caminho."/".$arq));
fclose($abre);
$qr = "INSERT INTO imagens (formato,imagem) VALUES('".$formato."','".addslashes($le)."')";
mysql_query($qr) or die(mysql_error());
} else {
echo "Nao foi possivel enviar a imagem!";
}
}
?>

Agora vamos fazer um script para mostrar a imagem:

imagem.php

<?
$qr = "SELECT * FROM imagens ORDER BY codigo DESC";
$sql = mysql_query($qr);
$l = mysql_fetch_array($sql);
header("Content-type: image/".$l[formato]);
echo stripslashes($l[imagem]);
?>

Pronto, agora e so usufruir do mesmo.

Tutorial por
Fabio Luis Matavelli da Silva
fabio@superphp.com.br

###############################################

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#6 rettich

rettich

    No Play, YES ABUSADO

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

Posted 01/09/2005, 09:39

o seu form precisa do enctype.

[code=auto:0]
<form action="inserir_figura.php" method="post" name="formImg" enctype="multipart/form-data">
[QUOTE]

eu tb cadastro as imagens no bd!! eu acho q seu problema ta no form.

Edição feita por: rettich, 01/09/2005, 09:40.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Wallace Rettich - Desenvolvedor Web
BR Design -- M2Software

#7 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 29/10/2017, 10:24

Real Isotretinoin Levitra 10mg En Baisse viagra Oral Amoxil Solution
3g Amoxicillin Oral Generic Cod Only Stendra In Internet No Doctor Boston viagra Doryx Bacterial Infections Buying Low Price Pharmacy On Line
Stendra Over Night Low Price Overseas Store Acheter Du Viagra Sur Paris En Pessac viagra Free Shipping Zentel Best Website Tablets Amex Accepted Mejor Tuenti Para Tomar Propecia

#8 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 29/10/2017, 10:58

Propecia Sale Drugstore Canadian Med 24h viagra online pharmacy Vente Cialis Generique Andorre Vademecum Y Propecia
Nolvadex Effets Secondaires Order Now On Line Doxycycline Treatment For Itching Rash Amoxicillin Reaction levitra and cialis online Frontal Baldness Propecia Male Pattern Hair Loss Kamagra Oral Jelly Australia In Linea Di 25 Mg Di Sildenafil




1 user(s) are reading this topic

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

IPB Skin By Virteq