Acesso direto ao conteúdo

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

 

MySQL - Gravando Imagens em uma tabela

Colaboração: Ronie Ramos de Oliveira

Data de Publicação: 02 de Outubro de 2009

PERGUNTA: Eu gostaria de saber se minha base de dados ficaria muito grande se eu fizesse o upload de imagens e as gravasse em uma tabela de um banco de dados MySQL. Seriam muitas fotos, para um site de festas. Eu já tenho um sistema de upload, para gravar em disco, mas eu gostaria de saber se é mais produtivo fazer a gravação direto no banco de dados, usando PHP. (Gabriel)

RESPOSTA, por Ronie ramos de Oliveira

Crie provisoriamente um diretório com as imagens (/images) e armazene no banco de dados a URL ou o caminho. Posteriormente, em uma aplicação faça a chamada da imagem selecionando a URL ou o caminho do banco de dados.

Usando php seria algo mais ou menos assim:

  $nome_banner="path da imagem/r1-day.png"
  $db = mysql_connect("localhost", $DB, $senha)
  
  $inserir_dado = "INSERT INTO tabela_imagem
  (banner_img)
  VALUES ('$nome_banner')";
  
  mysql_query($insert_data)

Armazenamento de imagens em bancos de dados consome bastante espaço e a definição de tipos BLOB (Binary Large Object), por exemplo, levam a esse consumo de espaço. Acredito que se você armazenar as imagens em um diretório de imagens e depois armazenar no BD só o endereço das url's das referidas imagens, ficaria mais em conta de se trabalhar. Por outro lado nada impede que você armazene as referidas imagens em tabelas no seu BD, o que consumiria também espaço para armazena-las...

Veja também o artigo Blob fields in MySQL Databases, de autoria de Paulino Michelazzo.

Este artigo foi extraído do sistema Rau-Tu de Perguntas e Respostas sobre Bancos de Dados Livres, mantido pelo Centro de Computação da Unicamp.

Veja a relação completa dos artigos da Bancos de Dados Livres

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir
  • Currently 3.16/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.2 /5 (31 votos)


Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS

Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.

Opinião dos Leitores

Evandro
19 Mar 2010, 16:04
A pergunta é:
Por exemplo tenho 05 imagens iniciais no meu diretório. Cadastro todas manualmente no BD.
Qdo incluo a sexta eu tenho que cadastra manualmente tb.? Ou tem rotina para fazer isto?
Joaquim Júnior
09 Jan 2010, 21:53
veja o código abaixo, veja o campo de nome foto, sim eu quero gravar uma foto com esta sintaxe, não estou conseguindo...Ajudem-me:

dm_stoking.ado_qry_insere.sql.clear;
dm_stoking.ado_qry_insere.sql.add('insert into vendedor');
dm_stoking.ado_qry_insere.sql.add('(vendedor,');
dm_stoking.ado_qry_insere.sql.add('endereco,');
dm_stoking.ado_qry_insere.sql.add('bairro,');
dm_stoking.ado_qry_insere.sql.add('cidade,');
dm_stoking.ado_qry_insere.sql.add('cep,');
dm_stoking.ado_qry_insere.sql.add('uf,');
dm_stoking.ado_qry_insere.sql.add('senha,');
dm_stoking.ado_qry_insere.sql.add('tel_res,');
dm_stoking.ado_qry_insere.sql.add('cpf,');
dm_stoking.ado_qry_insere.sql.add('rg,');
dm_stoking.ado_qry_insere.sql.add('data,');
dm_stoking.ado_qry_insere.sql.add('nascimento,');
dm_stoking.ado_qry_insere.sql.add('e_mail,');
dm_stoking.ado_qry_insere.sql.add('perfil,');
dm_stoking.ado_qry_insere.sql.add('ven_ou_fun,');
dm_stoking.ado_qry_insere.sql.add('percentual,');
dm_stoking.ado_qry_insere.sql.add('salario,');
dm_stoking.ado_qry_insere.sql.add('nro_carteira_trabalho,');
dm_stoking.ado_qry_insere.sql.add('nro_carteira_motorista,');
dm_stoking.ado_qry_insere.sql.add('foto)');
dm_stoking.ado_qry_insere.sql.add('values');
dm_stoking.ado_qry_insere.sql.add('(:vp01,');
dm_stoking.ado_qry_insere.sql.add(':vp02,');
dm_stoking.ado_qry_insere.sql.add(':vp03,');
dm_stoking.ado_qry_insere.sql.add(':vp04,');
dm_stoking.ado_qry_insere.sql.add(':vp05,');
dm_stoking.ado_qry_insere.sql.add(':vp06,');
dm_stoking.ado_qry_insere.sql.add(':vp07,');
dm_stoking.ado_qry_insere.sql.add(':vp08,');
dm_stoking.ado_qry_insere.sql.add(':vp09,');
dm_stoking.ado_qry_insere.sql.add(':vp10,');
dm_stoking.ado_qry_insere.sql.add(':vp11,');
dm_stoking.ado_qry_insere.sql.add(':vp12,');
dm_stoking.ado_qry_insere.sql.add(':vp13,');
dm_stoking.ado_qry_insere.sql.add(':vp14,');
dm_stoking.ado_qry_insere.sql.add(':vp15,');
dm_stoking.ado_qry_insere.sql.add(':vp16,');
dm_stoking.ado_qry_insere.sql.add(':vp17,');
dm_stoking.ado_qry_insere.sql.add(':vp18,');
dm_stoking.ado_qry_insere.sql.add(':vp19,');
dm_stoking.ado_qry_insere.sql.add(':vp20)');
dm_stoking.ado_qry_insere.parameters[00].value := edt_vendedor.text;
dm_stoking.ado_qry_insere.parameters[01].value := edt_endereco.text;
dm_stoking.ado_qry_insere.parameters[02].value := edt_bairro.text;
dm_stoking.ado_qry_insere.parameters[03].value := edt_cidade.text;
dm_stoking.ado_qry_insere.parameters[04].value := edt_cep.text;
dm_stoking.ado_qry_insere.parameters[05].value := lsb_uf.Items[lsb_uf.ItemIndex];
dm_stoking.ado_qry_insere.parameters[06].value := edt_senha_frente_de_loja.text;
dm_stoking.ado_qry_insere.parameters[07].value := edt_tel_res.text;
dm_stoking.ado_qry_insere.parameters[08].value := msk_cpf.text;
dm_stoking.ado_qry_insere.parameters[09].value := edt_rg.text;
if (edt_data_cadastro.text = ' / / ') or (edt_data_cadastro.text = '') then
begin
dm_stoking.ado_qry_insere.parameters[10].value := date();
end
else
begin
dm_stoking.ado_qry_insere.parameters[10].value := strtodate(edt_data_cadastro.text);
end;
if (edt_data_nascimento.text = ' / / ') or (edt_data_nascimento.text = '') then
begin
dm_stoking.ado_qry_insere.parameters[11].value := date();
end
else
begin
dm_stoking.ado_qry_insere.parameters[11].value := strtodate(edt_data_nascimento.text);
end;
dm_stoking.ado_qry_insere.parameters[12].value := edt_email.text;
dm_stoking.ado_qry_insere.parameters[13].value := lsb_perfil.items[lsb_perfil.itemindex];
dm_stoking.ado_qry_insere.parameters[14].value := lsb_categoria.items[lsb_categoria.itemindex];
dm_stoking.ado_qry_insere.parameters[15].value := strtofloat(xed_percentual.Text);
dm_stoking.ado_qry_insere.parameters[16].value := strtofloat(xnu_salario.Text);
dm_stoking.ado_qry_insere.parameters[17].value := edt_nro_ctps.text;
dm_stoking.ado_qry_insere.parameters[18].value := edt_nro_cnh.text;
dm_stoking.ado_qry_insere.parameters[19].value := img_foto.picture.PictureAdapter; //Aqui está o parametro
dm_stoking.ado_qry_insere.execsql;
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

 

 

Procure pela casa ou apartamento ideal à venda ou para aluguel na busca inteligente do Imohoo
Buscar imóveis