Pular para o conteúdo

Upload de imagens com criação de thumbnails em PHP

Artigo que aborda o processo de upload de imagens em PHP com a criação de thumbnails, que são imagens de tamanho reduzido, em diretórios separados.
Luís Fred fredwind
Hits: 74.069 Categoria: PHP Subcategoria: Manipulação de Arquivos
  • Indicar
  • Impressora
  • Denunciar

Introdução

Linux: Upload de imagens com criação de thumbnails O desenvolvimento de soluções voltadas para web é um mercado cada vez mais crescente. São milhares de profissionais desenvolvedores ao redor do mundo em busca de uma fatia desse mercado. É preciso então, a utilização e o domínio das ferramentas mais eficazes e poderosas para que se possa obter posição de destaque em meio a tantos bons desenvolvedores em busca de um lugar no mercado de desenvolvimento web.

O PHP veio para suprir a esta necessidade e oferecer toda a eficácia e facilidade no desenvolvimento de aplicações web. Uma linguagem pouco complexa e ao mesmo tempo extremamente prática. Se você já usou ou usa algum framework conhecido, do tipo CMS, tal como o Joomla ou Xoops, Mambo, PHP-NUKE ou mesmo o tão famoso sistema de fórum PHPBB, então você conhece a praticidade e o poder que tem o PHP.

Este artigo aborda o processo de upload de imagens com criação thumbnails. Para quem desconhece, thumbnail é uma foto de tamanho reduzido, que representa uma foto maior, com maior riqueza de detalhes, um recurso muito utilizado em galerias de fotos.

   1. Introdução
   2. Upload (criando o formulário)
   3. Upload (estabelecendo configurações)
   4. Upload (função para redimensionar as imagens)
   5. Upload (copiando as imagens para seus diretórios)
   6. Conclusão e referências

Criando uma agenda eletrônica com PHP/MySQL

Como criar um sistema de autenticação de usuários usando PHP/MySQL

Enviar mensagem ao usuário trabalhando com as opções do php.ini

Organizando fotos de camêra digital

Trabalhando com arquivos em PHP

Gerando documentos PDF com a classe FPDF no PHP

O perigo no gerenciador de uploads do PHP

#1 Comentário enviado por jolupi em 07/11/2008 - 15:09h
Excelente conjunto de artigos. Copiei para estudar e não funcionou. Ele não encontra insert_image.php que é a action do index.php. Vc já reparou ou eu estou dando mole ?
#2 Comentário enviado por fredwind em 07/11/2008 - 20:59h
é verdade jolupi, o formulario não consegue encontrar insert_image.php porque na verdade ele não existe, foi um vacilo meu. Na verdade o script que o formulario deveria procurar é upload.php, pouco antes de enviar o artigo pro site eu mudei o nome do script insert_image.php para upload.php porque achei mais conveniente e esqueci de fazer a modificação no formulario, desculpe. Qualquer duvida pode me mandar um email, é sempre um prazer ajudar!!!
#3 Comentário enviado por doc.ric em 22/01/2009 - 01:05h
Oi,

Gostei muito da tua solução, e pretendo utilizá-la em um projeto q estou desenvolvendo.
Tentei fazer funcionar o upload, mas não consigo criar as fotos jpg nas pastas "large" e "thumbnail" ... Estou usando o WampServer, com PHP 5.2.6.
Podes me mandar teu email de contato para q possa te remeter a instalação ?
Um abraço,
Ric
doc.ric@bol.com.br
#4 Comentário enviado por driseven em 05/02/2009 - 10:21h
amigos,


qdo tente anexar uma imagem, ocorreu o seguinte erro:

Warning: main(./fun_upload.php) [function.main]: failed to open stream: No such file or directory in /home/quintalf/public_html/teste/upload.php on line 6

Warning: main(./fun_upload.php) [function.main]: failed to open stream: No such file or directory in /home/quintalf/public_html/teste/upload.php on line 6

Warning: main(./fun_upload.php) [function.main]: failed to open stream: No such file or directory in /home/quintalf/public_html/teste/upload.php on line 6

Warning: main() [function.include]: Failed opening './fun_upload.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/quintalf/public_html/teste/upload.php on line 6
A imagem deve ter um nome legivel


alguém poderia me dizer o pq?
#5 Comentário enviado por scavenger em 09/03/2009 - 09:22h
Driseven,

Altere a linha:

include ($path . "fun_upload." . $phpExt);

para:

include ($path . "func_upload." . $phpExt);

do arquivo upload.php

Até mais,

Rodrigo Spillere
#6 Comentário enviado por amj233 em 06/04/2009 - 17:02h
Muito bom!!!

Se houver duas imagens com nomes iguais o sistema substitui a anterior pela nova, não é?.
Me corrijam se estiver errado!!!
#7 Comentário enviado por henbran em 18/02/2010 - 10:42h
BOM DIA.
PORVENTURA HÁ COMO CARREGAR OS BIT's DA IMAGEM, UTILIZANDO RECURSOS HTML/JAVASCRIPT, AO INVÉS DO ARQUIVO EM SI?
MEU PROVEDOR (localweb) TEM RESTRIÇÕES DE USUÁRIO, SERIA MAIS TRABALHOSO CONCEDER DIREITOS A UM DETERMINADO USUÁRIO EM CARREGAR IMAGENS.
O QUE PRECISO NA VERDADE É INSERIR A IMAGEM NO BANCO DE DADOS E NÃO GUARDÁ-LA NO SERVIDOR EM FORMA DE ARQUIVO.
OBRIGADO.
#8 Comentário enviado por fredwind em 19/02/2010 - 09:02h
Caro herban, eu creio que esta solução não seja possivel ou pelo menos ainda nao tenho visto algo assim em trabalhos com MySQL, é preciso que as imagens fiquem em diretorios especificos e seus nomes e/ou paths no banco de dados. Obrigado pelo comentário. Qualquer coisa é so da o toque!!
#9 Comentário enviado por Luiz Araujo em 23/02/2010 - 17:41h
Windboy,

Obrigado pelo código.


No formulário do arquivo principal, que deve se chamar index.html (location chamado pelo upload.php) o action ainda está apontando para "./insert_image.php" ao invés de "upload.php".

No link para o código fonte do upload.php:
(http://www.vivaolinux.com.br/imagens/artigos/comunidade/upload.php.txt_
Na linha 10, houve um erro de digitação. O código correto é:
include ($path . "func_upload." . $phpExt);

[]s,

Contribuir com comentário

Entre na sua conta para comentar.