View Full Version : [ajuda] imagens + mysql?


pimpz
05-03-2008, 19:13
boas eu estou a fazer uma parte do site em que exibe imagens de novos produtos e a sua respectiva descricao, mas eu queria guardar isso tudo numa tabela na base de dados, tambem posso guardar a imagem a que pertence a descrição?

cumps

mcog_blaster
05-03-2008, 19:14
Sim.

pimpz
05-03-2008, 19:14
e atao como posso fazer?

mcog_blaster
05-03-2008, 19:22
Tens montes de tutoriais disponiveis, é so começar a ler: Tutoriais (http://www.google.com/search?hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&q=%2Bphp+%2Bimage+%2Bmysql&btnG=Search)

AliFromCairo
09-03-2008, 14:23
Boas, podes usar o tipo BLOB para guardar a imagem ou, alternativamente, guardas apenas o path completo para a imagem na base de dados.

opsis
09-03-2008, 18:04
Eu aconselhava guardar apenas o path. Há quem diga que vai dar ao mesmo ter as imagens em disco ou guardadas na base de dados, mas há um argumento forte que é o caching das imagens pelos browsers actuais, e isso só acontece quando as lê do disco.

AliFromCairo
10-03-2008, 00:54
Para além de ser mais simples de implementar.

pimpz
10-03-2008, 11:54
Eu aconselhava guardar apenas o path. Há quem diga que vai dar ao mesmo ter as imagens em disco ou guardadas na base de dados, mas há um argumento forte que é o caching das imagens pelos browsers actuais, e isso só acontece quando as lê do disco.


e como posso fazer isso?

cumps

pimpz
10-03-2008, 15:30
boas, ja conseguir meter a gravar mais ou menos a imagem lol , mas agora queria carregar a imagem para a pagina, como faço? cumps

vhpv
10-03-2008, 16:56
boas


dou-te o mesmo conselho que te deu o mcog_blaster... google it -> link (http://www.google.pt/search?hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&q=%2Bphp+%2B+upload&btnG=Search)

Kayvlim
10-03-2008, 17:42
Quando se enche a base de dados com imagens, não há repercussões na performance da mesma?
Quando é que é preferível fazer isso?

pimpz
10-03-2008, 19:12
sim eu ja pesquisei mas fiquei na mesma :X

slack_guy
10-03-2008, 19:54
(...) mas eu queria guardar isso tudo numa tabela na base de dados, tambem posso guardar a imagem a que pertence a descrição?
Pessoalmente, não sou adepto de guardar ficheiros em base de dados, pelas seguintes 4 razões:
1. O espaço ocupado pela BD cresce (pode crescer) desmesuradamente;
2. Os pedidos de ficheiros 'estáticos' (jpgs, pngs, docs, xls, etc) teriam de passar por uma ligação à BD, ou por um sistema de cache um tanto rebuscado;
3. Perco a facilidade de 'manusear' ficheiros;
4. Não consigo separar o servidor de base de dados do servidor de ficheiros.

O que faço, sempre, é guardar na BD uma referência para o nome e pasta onde se encontra o ficheiro e, se necessário, mais alguma meta-informação associada ao ficheiro (altura x largura da imagem, nome original do ficheiro, etc).

opsis
10-03-2008, 20:14
boas, ja conseguir meter a gravar mais ou menos a imagem lol , mas agora queria carregar a imagem para a pagina, como faço? cumps

Como assim?

Estás a gravar mais ou menos? Só parte da imagem é que grava? :016:

Como deves compreender isso não chega para que te ajudem. Estás a gravar o quê na base de dados? Presumo que saibas que para apresentar a imagem, em html, é usar um <img> com href para a directoria onde a guardaste.

pimpz
10-03-2008, 20:20
tipo eu fiz um echo da coluna da base de dados onde deveria estar o caminho da imagem mas so aparece o nome da imagem em vez de aparecer todo o caminho, mas agora lembrei-me que eu tenho que fazer com que a imagem seja guardada no servidor, porque eu inda estou a utilizar um servidor local na minha maquina.

donbonifacio
10-03-2008, 20:23
Apesar do normal ser guardar paths na BD, guardar o ficheiro em si num SGBD não é uma má ideia e até é aconselhado em vários casos. Se não reparem:

Uma base de dados é algo _feito_ para guardar grandes volumes de dados, e como tal tem optimizações nesse sentido
Também podem fazer cache de uma imagem que vem de um blob da BD, basta fazerem uma página que muda o response type, por exemplo para PNG, espetam lá o blob, e põem nos headers que esta página expira daqui a 20 anos - aliás, eu prefiro este método a ter de configurar web servers :PDito isto, eu uso paths e uso uma coisa muito importante: Content Distribution Networks. Um CDN é um conjunto de mirrors distribuidos pelo mundo. A vantagem, é que quando um utilizador faz um request para algo estático (imagens, scripts, etc), é atendido pelo servidor mais perto dele (ou mais rápido para ele).

A maior parte são pagos, mas encontrei um à borlix muito porreiro: Coral CDN (http://www.coralcdn.org/). Fica a dica. :P

AliFromCairo
10-03-2008, 23:51
tipo eu fiz um echo da coluna da base de dados onde deveria estar o caminho da imagem mas so aparece o nome da imagem em vez de aparecer todo o caminho, mas agora lembrei-me que eu tenho que fazer com que a imagem seja guardada no servidor, porque eu inda estou a utilizar um servidor local na minha maquina.

Podes guardar o uri para a imagem. Em seguida, basta colocares no atributo src do elemento img o uri. Dá uma vista de olhos na variável $_SERVER do PHP, pois vai-te dar jeito para obteres informação sobre a máquina.