View Full Version : [ajuda] imagens + mysql?
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.
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.
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.
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
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)
Quando se enche a base de dados com imagens, não há repercussões na performance da mesma?
Quando é que é preferível fazer isso?
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).
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.
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.
|
|