[ajuda] imagens + mysql?

pimpz

Power Member
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
 
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.
 
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
 
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
 
Quando se enche a base de dados com imagens, não há repercussões na performance da mesma?
Quando é que é preferível fazer isso?
 
(...) 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).
 
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? :007:

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.
 
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.
 
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 :P
Dito 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. Fica a dica. :P
 
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.
 
Back
Topo