Criar thumb (miniaturas) com PHP

Gerando miniaturas de imagens com PHP

Esse Post foi movido para :

http://clares.com.br/2012/11/07/gerar-miniatura-php-adicionando-marca-dagua-nas-imagens/

Desculpe pelo transtorno, aproveite para assinar o novo blog.

Marcado:, ,

110 pensamentos sobre “Criar thumb (miniaturas) com PHP

  1. David fevereiro 20, 2008 às 3:59 pm

    Olha otimo sistema de thumbs mais naum funcionou no meu servidor tenho php 5 sera q é isso ele tah erro interno 500 no iss”!!! o q sera q pode ser??? sera q pode me ajudar???

  2. David fevereiro 20, 2008 às 4:14 pm

    Opa ja consegui resolver para funcionar no php5 tem q alterar as seguintes linha

    // recebendo a url da imagem
    $filename = $_GET[‘img’];

    // Cabeçalho que ira definir a saida da pagina
    header(‘Content-type: image/jpeg’);

  3. clares fevereiro 20, 2008 às 4:26 pm

    Entendi, o problema é que você copiou e colou o código e ele ao invés de estar com aspas/apostofros estava com o ascento agudo/crase. mas tá ai, quem for copiar e colar altere os sinais agudo/crase para aspas/apostofros.

  4. Carlos J. Souza abril 6, 2008 às 11:55 pm

    Ola, boa noite.
    Parabens pelos artigos acessiveis que voce tem publicado. Para foi bem util e numa linguagem simples, possibilitando melhorarmos futuras implementacoes.
    Abraco.

  5. clares abril 7, 2008 às 12:12 am

    Carlos, obrigado pelo feedback.

  6. Victor abril 14, 2008 às 6:45 pm

    Muito bom, usei e funcionou corretamente e sem complicação!!! Parabéns!

  7. Mauricio Biasotto abril 18, 2008 às 4:12 pm

    era o que eu precisava, valeu, parabéns!

  8. João Luiz abril 25, 2008 às 12:22 pm

    Não consegui, no Firefox só aparecem quadradinhos.

  9. clares abril 25, 2008 às 12:39 pm

    Caro João, não só testei como o fiz visualizando no firefox, acredito que você tenha copiado o código e não alterou as aspas/apostrofos, leia os demais comentários ok. Obrigado pelo comentário.

  10. João Luiz abril 25, 2008 às 12:58 pm

    Amigo, grato pela presteza, desculpe.
    Segundo eu entendi as linhas devem ficar assim:
    // recebendo a url da imagem
    $filename = $_GET[‘img’];

    // Cabeçalho que ira definir a saida da pagina
    header(“Content-type: image/jpeg”);

    Assim eu fiz. E ainda não funcionou.

    Estou enviando para a página assim:
    echo ”;

    Será que o erro esta ai?

  11. clares abril 25, 2008 às 1:15 pm

    João você tem instalada a biblioteca GD/GD2 no PHP? Se não tiver aconselho a você instalar o EasyPHP que já tem o PHP5 e as extensões necessárias, bastando apenas ativar através do próprio gerenciador do EasyPHP, por default o GD/GD2 está desabilitada. Talvez seja isso, ao clicar no link do exemplo funciona ai ? Abraços

  12. João Luiz abril 25, 2008 às 1:42 pm

    A biblioteca esta instalada e funcionado. Sim o exemplo funciona.
    Na minha pagina original as imagens aparecem grandes.
    O que fiz foi substituir na linha:
    echo ‘<img src=”‘;
    // echo $files.$entrada_arq.'”;
    O $files… por thumb.php?img

  13. clares abril 25, 2008 às 2:05 pm

    João, me desculpe mas acho que você deveria ler novamente o post. Não tem como errar! De toda forma
    irei disponibilizar o arquivo para download em http://clareslab.com.br/learn/thumbs.rar será mais fácil por que à medida que você vai alterando algo que já está funcionando eu já não tenho mais como ajuda-lo, infelizmente. Já está escrito no post como funciona, mas irei repetir…o arquivo thumbs.php retorna uma única imagem sendo preciso para isso passar a url da imagem! Abraços

  14. daniel junho 12, 2008 às 6:06 pm

    Vai me ajudar no projeto final da escola :D

  15. Osvaldo de SouzaTavares junho 17, 2008 às 7:37 pm

    Amigo não conseguir fazer funcionar,ao aparece uns quadradinhos….
    como que o links das imagens tivesse errada;;;

  16. clares junho 17, 2008 às 7:55 pm

    Olá Osvaldo, é importante lembrar que o código acima está informando que os arquivos php e as imagens estão no mesmo diretório. Quero dizer, se suas imagens estão por ex: em um diretório separado (que seria o correto) então você deverá passar a urlDiretorio+nomeDaImagem. Por ex:
    src=”thumb.php?img=diretorio/image1.jpg” , faça o download do arquivo e dê uma analisada.
    Um grande abraço.

    Obs: Pessoal atentem-se aos apóstofros/aspas … verifiquem se estão corretos.

  17. Junior Campos julho 12, 2008 às 2:45 pm

    Clares, esse sistema aceita gif e png também?

  18. clares julho 12, 2008 às 3:11 pm

    Olá Junior, O exemplo proposto não aceita e você pode ver isso na linha $image = imagecreatefromjpeg($filename), onde o comando está criando um jpeg.. Você pode ver como adaptar o exemplo em:

    http://br.php.net/manual/pt_BR/function.imagecreatefrompng.php

    http://br.php.net/manual/pt_BR/function.imagecreatefromgif.php

    abraços

  19. Tiago setembro 10, 2008 às 10:36 am

    Olá, bons códigos, muito úteis!
    Tenho uma dúvida, este comando gera uma miniatura da foto (thumbs), mas esta é um arquivo temporário?? ocupará espaço em meu servidor?? onde será salvo??

    Obrigado, parabéns pelo código!

    • Celio Ferraz novembro 17, 2011 às 8:06 pm

      Oi fiz o download do arquivo e joguei no servidor na imagem coloquei assim beleza a imagem pequena aparece mais ao clicar não aparece a imagem grande.????

      • Rafael Clares novembro 22, 2011 às 6:46 pm

        rs rs rs se você colocar o link para a imagem vai aparecer!

  20. Rafael Clares setembro 10, 2008 às 12:09 pm

    Ola Tiago, não ocupa espaço em disco, o que acontece é que não são criadas imagens pequenas mas isso já comentei no post. a imagem é apenas redimensionada em tempo de execução, tem seu tamanho e qualidade reduzidos ao ser “exibida”. Portanto não se preocupe pois elas não ficam em temp ou algo assim. Abraços

  21. Ewerton Cavaliere Muller setembro 19, 2008 às 5:42 pm

    Ola Rafael Clares, a muito tempo estava procurando um tutorial desses. Ficou muito bom. mais uma coisa q me deixou encucado, como faço pra ele redimencionar só o width e heigth fazer automaticamente???

    obrigado

  22. Rafael Clares setembro 22, 2008 às 12:21 pm

    Olá Ewerton, amigo deixa eu ver se entendi a pergunta. Você quer mudar apenas a largura e manter a altura? Se for isso a altura original tem seu valor contido na variável $height. $new_height é a nova que determinamos. Obrigado pelo comentário. Abraços

  23. Thiago setembro 23, 2008 às 10:44 pm

    Olá …

    Eu estou procurando por um exemplo desses usando PHP5 Orientado a Objeto, você programa em OO também?

    Estou precisando aprender como separar as coisas, tenho que fazer um site com apenas uma foto miniatura na pagina inicial, como se eu pudesse definir a foto CAPA, e quando eu clicasse nessa foto abrisse a pagina com todas as fotos, pode até ser usando javascript ou ajax, para não precisar abrir outra pagina, apenas uma janelinha, mas isso deve ser mais complicado.

    Sou iniciante PHP, li 2 livros ja, e estou aprendendo OO agora, e procurando ver exemplos como fazer as coisas.

    Gostaria muito que me desse uma ajudinha se puder..

    Abração! E parabéns pelo tutorial.

  24. Rafael Clares setembro 24, 2008 às 1:38 am

    Legal Thiago, entendo o que você quer fazer, dê uma olhada nesse sisteminha que fiz.
    http://clareslab.com.br/webimoveis/
    olhe o painel administrativo em
    http://clareslab.com.br/webimoveis/admin
    Esse sistema está desatualizado neste endereço.
    A nova última versão que contém algumas melhorias você pode ver em http://74.86.147.228/~webdemo/
    mas nesse você não terá acesso ao painel admin, porém poderá ver algumas diferenças… de toda forma, entendo um pouco o que você quer… teste esse exemplo de forma que você entenda bem e depois nos falamos denovo para ver uma próxima etapa para você construir seu sistema ok. Abraços e muito obrigado pelo feedback.

  25. Jackson outubro 2, 2008 às 12:31 pm

    Cara!!! Muito obrigado mesmo! Fazia tempo que estava procurando algo pratico e objetivo assim para criar thumbs… O conteúdo do seu blog é muito bom, espero que continue assim. Vlw!

  26. Eliseu sb dezembro 2, 2008 às 2:45 pm

    Clares, essa matéria é ótima, a melhor sobre o assunto que encontrei, particularmente falando.

    Obrigado por isso e abraços

  27. Xupisco dezembro 9, 2008 às 12:19 am

    Mto bom esse tutu veio, nao estava funcionando, entao baxei a que vc postou ali e funcionou, e quem quizer que ao clicar na imagem abra o arquivo original e numa nova aba coloque antes de <img src=

    <a href=”caminho para a imagem original” target=_blank>

  28. Raphael Azeredo dezembro 21, 2008 às 12:08 pm

    Rafael, queria lhe dar os parabéns pelo excelente trabalho que você vem fazendo no seu blog, com excelentes post de facil entendimento e com contúdo super atrativos, obrigado mesmo, já está nos favoritos

  29. Rafael Clares dezembro 22, 2008 às 11:37 am

    Valeu Rapha,
    abraços

  30. Paulo dezembro 31, 2008 às 4:41 pm

    Boa tarde Rafael, interessante seu “sisteminha” muito legal, podemos conversar sobre ele? por favor entre com contato com meu email.
    Feliz Ano Novo a todos !!!!!!!
    Obs. Não tenho corretora nem imobiliária.

  31. Rodrigo Martins janeiro 6, 2009 às 12:13 am

    Vlw cara gostei muito do codigo, estava precisando disso faz tempo.caso eu queira salvar a imagem thumb numa pasta como que faço….vlw

    • Rafael Clares janeiro 6, 2009 às 10:37 am

      Olá Rodrigo, para salvar a imagem altere a penultima linha do arquivo PHP
      imagejpeg($image_p, null, 50);
      troque o null pelo o caminho onde quer salvar a imagem ex:
      imagejpeg($image_p, ‘/home/userx/images/img.jpg’, 50);

  32. Luiz Felipe janeiro 20, 2009 às 10:02 pm

    Parabéns pelo post, o blog está excelente e isso ajudará a diminuir a taxa transferência do meu site, exibo miniaturas de programas e estará me ajudando muito este código, já que não encontrei informações sobre gd ou gd2.
    Já testei offline e funcionou nos conformes. Agora vou integrar ao meu site e depois dar upload.
    Obrigado! ;)

  33. Luiz Felipe janeiro 21, 2009 às 1:40 pm

    Olá, como eu comentei, o código funciona perfeitamente no que é proposto, mas eu notei que ao invés de diminuir meu bandwith, aumentou, isso ocorre porque toda vez ele visualiza a imagem, ela é baixada novamente. Não teria como o navegador imprimir a imagem uma vez e depois disso, toda vez que ele imprimir a imagem de novo, usar a do cachê, como seu eu usasse um link de imagem normal?
    Mesmo eu tendo uma boa experiência com PHP, eu nunca mexi com imagens e não consegui fazer o que eu descrevo acima. =/
    Ei, falando a respeito do EasyPHP, eu já tive alguns problemas com ele, atualmente eu uso o Vertrigo, julgo melhor e o utilizo.

    Li o comentário que você fez sobre meu site, muito obrigado!

    • Rafael Clares janeiro 21, 2009 às 1:54 pm

      Testei apenas o desempenho em relação ao tempo de exibição das imagens, não posso afirmar que o que você descreve realmente ocorre por eu não ter testado, nem sei se o farei. Agora se quiser algo mais completo utilize a class thumbnail que possui uma gama maior de config. e também de efeitos como reflexo, watermark, etc… Quanto ao EasyPHP, nunca tive problema algum e continua sendo uma indicação, instalei uma vez e pronto… apenas o utilizo. Obrigado pelo comentário,

  34. Parrudinho janeiro 29, 2009 às 1:44 pm

    Vlw pelo script ajudo muito no meu sistema t+
    abraço

  35. Moisés fevereiro 17, 2009 às 1:59 pm

    Não funciona comigo, não deve ser problema de código, mas alguém já viu este erro?
    “Warning: getimagesize(foto.JPG) [function.getimagesize]: failed to open stream: No such file or directory in C:\www\site\sistema\carregafoto.php on line 26

  36. Moisés fevereiro 17, 2009 às 7:25 pm

    O erro inicial, era que estava separando o nome do arquivo assim o código não sabia de onde estava vindo a imagem.
    Solucionado esse erro, veio outro: imagecopyresampled(): supplied argument
    Na verdade a foto sairá do pc do usuário e será salva na pasta thumb no servidor.
    Inicialmente deverá gerar 2 imagens: 800 X 600 e 120 X 100 e salva-las com nomes destintos e depois serem salvos seus nomes no banco de dados.
    Mas para o momento, preciso entender como funciona para carregar ao menos uma simples imagem redimensionada.
    Anotei no código onde retorna o erro.

    Grato;

    $arquivi_nome = $_POST[“max_foto”];
    $filename = $arquivo_nome;
    $percent = 0.10;
    header(“Content-type: image/jpeg”);
    list($width, $height) = getimagesize($filename);
    $new_width = 120;
    $new_height = 100;

    $image_p = imagecreatetruecolor($new_width, $new_height);
    $image = imagecreatefromjpeg($filename);

    //nesta linha da o seguinte erro:Warning imagecopyresampled(): supplied argument is not a valid Image resource
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

    $pasta_dir = “thumb/”;//diretorio dos arquivos
    $arquivo_nome = $pasta_dir . $arquivo[“name”];

    //arquivo_nome não está entrando
    imagejpeg($image_p, $arquivo_nome , 50);
    imagedestroy($image_p);

    • Rafael Clares fevereiro 18, 2009 às 3:47 pm

      Moisés,

      $arquivi_nome = $_POST[‘max_foto’] – onde está sendo usado ?
      pq logo na linha abaixo vc diz $filename = $arquivo_nome;
      acredito que $arquivi_nome e $arquivo_nome são difrentes, mas é isso mesmo?

  37. Adilson julho 13, 2009 às 8:49 pm

    Rafael, show de bole este script.
    Mas no meu para salvar a mini/thumb, não foi nem por reza….rs
    Coloco como vc descreve e nada, deu permissão a pasta tb nada.
    imagejpeg($image_p, ‘mini/teste.jpg/’, 50);

    Abraços.

    Adaysso

    • Rafael Clares julho 13, 2009 às 9:47 pm

      Pow Adilson, algo deve estar errado mesmo, acabei de testar aqui e gera normalmente a figura.
      Pegando o mesmo script do exemplo alterei a linha para

      imagejpeg($image_p, “thumbs/$filename”, 50);

      Onde thumbs/ é o diretorio onde salvo a miniatura …. e $filename é nome original da imagem.
      Obs: Se vai salvar a miniatura não esqueça que tem que alterar o local de onde serão exibidas as imagens depois.

      De uma olhada aí em relação à diretório e também a forma como está passando o nome da imagem …

      abs

  38. Adilson julho 14, 2009 às 12:48 pm

    Só gerou uma única vez, sem a extenção da imagem ‘mini’.
    Mas resolvi e funcionou para o que preciso, pois minhas imagens são gravadas no bd e é exibida apenas a primeira ex: thumb.php?img=fotos_anuncios/

    Irei ver o que isso poderá ocasionar com o uso da banda, já que é gerado temporaria as thumbs para cada usuários no site, e se gerasse uma está principal, ficaria bem melhor.
    Conseguir um script que faz isso, irei tentar adaptá-lo.

    Valeu um forte abç.

    Adaysso

  39. Moisés agosto 23, 2009 às 2:29 pm

    Só não está funcionando no Chrome!
    Obs: img- vem do formulário(input type=file)

  40. Fernando Souza outubro 16, 2009 às 5:45 pm

    Olá, Muito obrigado pela ajuda… estava precisando deste sisteminha… agora sem querer abusar, como faço para que as miniaturas reduzam proporcionalmente?

    • Rafael Clares outubro 17, 2009 às 1:50 am

      Fernando, basta alterar as linhas abaixo:
      $new_width = 120;
      $new_height = 100;

      alterando o valor fixo em pixels por valor percentual, ex:

      $new_width = ($width / 5);
      $new_height = ($height / 5);

      Onde $new_width é a nova largura resultante da largura original ($width) dividido por 5 neste caso, como percebeu
      o valor da nova largura não está fixo (120) e sim baseado na divisão do valor original dividido por 5 ($width/5)
      Quero dizer que você pode explorar estas duas linhas para chegar ao resultado que deseja.

      abraços,

  41. adriano novembro 5, 2009 às 4:14 pm

    caro amigos estou com um problema no meu arquivo thumb.php ou sei la pois estou iniciando nessa de PHP exemplos – http://www.veiculossaopaulo.com.br/thumb.php?70prop2=70&arq=1069407089_CPA-5900_01.jpg
    assim ele so me da a msg que a imagem nao foi encontrada …
    e se eu mudar (por o nome da pasta uploads)
    http://www.veiculossaopaulo.com.br/uploads/1069407089_CPA-5900_01.jpg ai abre a imagem do carro

    aqui esta o thumb.php

    <img src="”>

    POR FAVOR ME AJUDEM POIS COMPREI ESSE SCRIPT DE UM SITE AI http://www.classicarro.noxweb.com.br/
    E O CARA NUM TA NEM AI PRA MIM
    OBRIGADO DESDE JA

    • Rafael Clares novembro 13, 2009 às 2:33 am

      Adriano, por favor leia os comentários, a solução para o problema certamente já existe neles, sabe a versão de seu PHP?
      até mais
      obrigado pelo comentário

  42. adriano novembro 5, 2009 às 4:18 pm
  43. Alexandre novembro 24, 2009 às 12:53 pm

    como faz para gerar tipo 5 thumbs por linha?

    • Rafael Clares novembro 24, 2009 às 4:02 pm

      Alexandre, basta colocar 5 imagens e depois uma quebra de linha
      .

  44. Gisele novembro 24, 2009 às 2:17 pm

    Eu tenho que montar um sistema semelhante ao seu e queria saber como montar essas buscas com ajax, vc tem algum tutorial?
    Estou montando com dreamweaver.

    • Rafael Clares novembro 24, 2009 às 4:06 pm

      Gisele, não compreendi sua necessidade, você está comentando um post sobre miniaturas de imagens e diz que deseja fazer um sistema semelhante, mas comenta também buscas com ajax, nada que tenha nesse post.
      Talvez consiga me dizer melhor o que precisa. Não tenho tutoriais completos sobre tecnologias, apenas alguns trechos de códigos que julgo úteis em alguns momentos e compartilho no blog;
      Até

      • Gisele novembro 27, 2009 às 5:27 pm

        Me desculpe, o sistema imobiliário que vc criou (tem busca com ajax), esse risize tbm achei muito útil, mas eu vou tentar criar uma imagem miniatura mesmo.

        Obrigada

      • Rafael Clares dezembro 1, 2009 às 12:44 pm

        Olá Gisele, meu email : rafadinix@gmail.com
        Mas para assuntos do blog melhor tratar aqui mesmo.

      • Gisele dezembro 2, 2009 às 12:37 pm

        Onde eu posso postar minha dúvida sobre o sistema webmoveis que você criou?
        Queria saber como eu monto o banco de dados, tem uma tabela só para as imagens?

      • Rafael Clares dezembro 2, 2009 às 12:51 pm

        Gisele, o sistema imobiliaria é um produto meu, não coloquei o código à disposição.
        Vendo o código fonte por R$ 50,00;

        tabela imoveis [idimovel,desc,etc]
        tabela fotos [idfoto,idimovel,etc]

        Até,

      • Gisele dezembro 2, 2009 às 1:35 pm

        valeu, eu já comecei a montar, só a tabela já está bom.

  45. Conrado Carvalho novembro 27, 2009 às 2:40 am

    Oi Rafael, tudo bem? Muito inteligente essa parada, parabéns! Olha só, está funcionando comigo, só estou curioso com uma coisa e talvez vc já tenha vivido algo assim. Aleatoriamente, ao realizar um pesquisa, que retorna um thumb, este desaparece e ao realizar a mesma pesquisa o thumb aparece, uma espécie de intermitência. Já relataram algo parecido? Você teria uma idéia do que seja? Eu suspeite de cache da URL, então o que fiz foi acrescentar na query string um variável com um número rand, só para diminuir esse risco.

    Abraço, Conrado

    • Rafael Clares novembro 27, 2009 às 2:49 am

      Olá Conrado, não tive nenhuma ocorrência do problema, veja, utilizo esse mesmo script em um programa antigo a mais de 2 anos…
      http://webimoveis.clareslab.com.br/
      mesmo realizando buscas não tem ocorrido, não tenho idéia do que esteja acontecendo.

      Utilize a classe thumbnail é bem melhor, eu a utilizo hoje em dia e nunca tive problemas.
      Segue o link: http://phpthumb.gxdlabs.com/

      abraços

  46. Marcelo TZK dezembro 16, 2009 às 2:26 am

    Olá, primeiro parabéns, foi o único que consegui fazer funcionar. Só faltou um upload e a inserção automática dó cód. das imagens para visualização dos thumbs (hahah, ñ quero mais nada né!).

    Bom, o que quero anunciar é que criei um método para mudar proporcionalmente os thumbs.

    Substitua tudo isso:
    #setando a largura da miniatura
    $new_width = 120;
    #setando a altura da miniatura
    $new_height = 100;

    Por tudo isso:
    #setando a proporcao da miniatura
    if($height $width) {
    $new_height = (160);
    $new_width = (160*$proporcao);
    }else{
    $new_width = (215);
    $new_height = (215*$proporcao);
    }

    Escolha o tamanho da largura e altura mudando os valores de 160 equivalente a altura e 215 a largura.

    Não sou programador, sou designer, e fiquei mt feliz em conseguir fazer isso sozinho e mais ainda em poder distribuir o cód. Vlw a todos.

  47. Marcelo TZK dezembro 16, 2009 às 4:41 am

    ÚLTIMA ATUALIZAÇÃO DO CÓDIGO PARA GERAÇÃO DE THUMBS PROPORCIONAIS.

    SUBSTITUA:
    #setando a largura da miniatura
    $new_width = 120;
    #setando a altura da miniatura
    $new_height = 100;

    POR:
    #setando as proporcoes desejadas
    $largura = 200;
    $altura = 150;

    #setando a proporcao da miniatura
    if($height > $width) {
    $new_height = $altura;
    $new_width = $width*$altura/$height;
    }else{
    $new_width = $largura;
    $new_height = $height*$largura/$width;
    }

    if($new_width > $largura){
    $new_width = $largura;
    $new_height = $height*$largura/$width;
    }

    if($new_height > $altura){
    $new_height = $altura;
    $new_width = $width*$altura/$height;
    }

  48. Kadu de Souza janeiro 6, 2010 às 4:55 am

    Ja está nos meus favoritos!
    Valew!!

  49. Bruno Perin fevereiro 26, 2010 às 8:25 pm

    Boa tarde Rafael, queria só tirar uma dúvida quanto ao carregamento da imagem. Por exemplo, tenho uma imagem de 1MB e configurei no thumb para ele exibir com 50% da resolução, então a dúvida é se o script carrega 1MB (da imagem original) para depois converter ou se ele carrega apenas 500kb?

    Também queria saber se você tem algum script ou tutorial de como converter a imagem ao fazer upload.

    Vlw e parabéns pelo script

  50. Diego junho 29, 2010 às 12:23 pm

    Ola,

    parabens muito bom tutorial, unico que consegui fazer funcionar.

    Tens como fazer com multiplo upload, e gravar o nome da foto no banco.

  51. Edmar julho 19, 2010 às 1:14 pm

    Cara estou com uma dúvida, estas imagens estão todas num tamanho fixo, mas quando se trata de fotos desproporcionais a tem como o código pegar o tamanho automático das thumb e fixa-las no index automáticamente….?

    • Rafael Clares julho 21, 2010 às 12:26 pm

      Edmar, poxa cara hoje estou bastante lento viu, não entendi bem… o “tamanho automático das thumbs”… me explica ai direitinho rs rs
      valeu

  52. Leandro outubro 3, 2010 às 1:19 am

    Amigo, muito interessante torna esse modo em que vc usará a resolução que lhe for ideal. Porém, penso se não seria melhor salvar no servidor varios tamanhos preferenciais para a imagem, envitando assim o uso demasiado dessa biblioteca. Penso que sites como o Flickr mantém além do original e outros tamanhos que são ideais.

    • Rafael Clares outubro 3, 2010 às 1:31 am

      Opa, concordo com você, mas salvar é uma opção que está ao fim do post.

      Obs: Para salvar a imagem/thumb em um diretório altere a linha
      imagejpeg($image_p, null, 50);
      para
      imagejpeg($image_p, ‘/diretorio/nomeImagem.jpg/’, 50);

      abraços

  53. Leuzinhu novembro 4, 2010 às 7:47 pm

    eae galera, tipo, da um help ae, eu queria q as imagens ficassem proporcionais, mas sem mudar o tamanho, seria uma espece de crop, ia diminuir e depois cortar no centro pra manter o aspecto. é meio dificil, mas se alguem souber agradeço

  54. Alone novembro 15, 2010 às 12:29 am

    Perfeito!
    Acompanho sempre seu blog, parabens!

  55. Victor Porto janeiro 2, 2011 às 3:15 am

    ‘-‘

  56. Adriano fevereiro 23, 2011 às 6:16 pm

    Meus thumbs ficaram pretos.
    Alguém sabe o que pode ser?
    Ta tudo certinho mas nao aparecem as imagens das miniaturas.
    Obrigado

  57. Elvis março 9, 2011 às 4:29 pm

    Muito Obrigado!
    Seu post de 2008 é o primeiro nas pesquisas do Google sobre php thumb :D

    E até hoje ainda esta a fazer bastante alvoroço entre o pessoal da Web ;)

    Valew’S!

  58. Wendell março 17, 2011 às 4:51 pm

    Rafael, muito bom o artigo, muito útil, mas estou tendo um problema, usei ele em uma aplicação que tenho aqui e algumas imagens não são exibidas, existe alguma limitação com relação ao tamanho das originais, pois elas são bem grandes.

    Abraço.

    • Rafael Clares março 17, 2011 às 6:59 pm

      Wendell. não existem limitações, dê uma lida nos comentários e descubra a versão do seu PHP, pode ser isso e se for, a solução está nos comentários.
      Até logo,

  59. vagner abril 1, 2011 às 7:59 pm

    Perfeito, direto ao ponto, separado da camada de visão

  60. rachel abril 8, 2011 às 2:40 am

    Oie Rafael, tudo bom ?

    Muito bom seu blog.. :) Parabéns. Olha só, não sei se vc vai saber me ajudar, eu já procurei em tudo quanto é canto solução para o meu problema, mas simplesmente não encontro nada.. Bom, o site http://www.envolverde.com.br está usando a biblioteca phothumb a principio, tudo ok, sem problema alguma, mas precisamos gerar uma news com as atualizações do dia, nesse momento começaram os problemas.. Simplesmente o thumb dá pau. Aparece essa mensagem:

    AntiOffsiteLinking( ) – “www.envolverde.com.br” is NOT in
    $this ->config_nooffsitelink_valid_domains (envolverde.com.br)

    O que é mais estranho, é que às vezes funciona, às vezes não funciona.. agora, o que é certo é que quem recebe no hotmail e no ig sempre vê essa mensagem.. Nos demais parece que depende mais do humos do phpthumb do que qualquer coisa..rs..

    Não sei mais para onde correr.. Por isso se souber de algo agradeço muito… Obrigada..

    • Rafael Clares abril 8, 2011 às 3:43 am

      Oie, eita que confusão hahahaha!
      Te ajudo sim… Vou te mandar um e-mail tá!
      tchau

  61. Acson maio 5, 2011 às 2:06 pm

    Caraca! Brother obrigado por nos passar essa informação! E agradeco mais ainda por ter colocado os arquivos zipados pra down.
    Paaaaaaaaaarabéns, fiquei procurando como fazer isso e vários sites falavam…falavam..mais nao adiantava. E eu precisava era disso mesmo, no “src” da imagem não mostrar o caminho completo tipo “/imagem/foto01.jpg” e sim algo pra camuflar, pois bem, achei :D!
    Mais uma vez parabéns, desde 2008 o artigo e até hoje ajudando muita gente.
    Abraço

  62. Acson maio 5, 2011 às 2:11 pm

    Ah, gabriel, eu poderia postar seu post no meu blog e colocar teus créditos e o link pra tua página? Obrigado :)

    • Rafael Clares maio 5, 2011 às 10:13 pm

      E ae, beleza irmão, pode colocar sim!

  63. marcelo junho 1, 2011 às 3:04 am

    thumbnail é pra reduzir tamanho de um download desnecessário. A pessoa só baixa a foto que quer ver. Se apenas redimensiona a imagem para exibí-la pequenininha, não há razão para esse carnaval todo, atribui largura e altura pra essa *** e pronto. Coisa ignorante.

    • Rafael Clares junho 1, 2011 às 3:08 am

      E você é tão entendido que veio parar aqui no sambódromo né?
      Outra coisa ow samurai, a linha:
      imagejpeg($image_p, ‘/diretorio/nomeImagem.jpg/’, 50);
      o último parâmetro recebe justamente o número em relação à qualidade da imagem 0 a 100 e reduz o tamanho do download.
      Falou tiozão, de toda forma, obrigado pelo comentário!

  64. Totti junho 8, 2011 às 12:34 pm

    E como eu faço se não tiver uma imagem cadastrada, colocar uma padrão ? tem como ?

    • Rafael Clares junho 8, 2011 às 9:33 pm

      Pode sim, sem problemas, desde que saiba o caminho e nome da imagem é só informar!
      até mais

  65. Rodrigo Poli junho 18, 2011 às 11:57 pm

    Boa noite,

    Você ja fez testes com imagens grandes tipo 3072×2304, ao tentar usar aqui retornou o seguinte erro: A imagem contem erros e nao pode ser exibida.

    • Rafael Clares junho 21, 2011 às 3:47 am

      Olá pode ser um erro da classe phpThumb, tente baixar a versão mais recente!

      • Leonardo Quesada junho 21, 2011 às 11:32 pm

        Clares,

        Show de bola. Ajudou muito.
        Obrigado e abraços.

  66. Felipe junho 20, 2011 às 1:10 pm

    Cara… não é mt aconselhavel esse script ai pois se for uma pagina onde tem muitor produtos, por exemplo, vai demorar pra carregar pq ele carrega a imagem por completo apenas mudando as dimenções

    • Fred setembro 7, 2011 às 3:52 pm

      O que sugere então??

  67. Tiago julho 14, 2011 às 3:44 am

    Cara tava procurando por isso! Mtu bom vlw… Tá nos favoritos.

  68. daniel outubro 1, 2011 às 1:32 am

    De fato deu certo, tem como bloquear essa função para usuários do navegador Chrome? Já que nesse navegador as miniaturas aparecem com alta resolução ao contrário do Firefox e ie. E dizendo que essa função REDUZIU a resolução das miniaturas para o Chrome.

    Seguindo a lógica mais vale uma miniatura + – em 3 navegadores, do que 1 ótima e 2 péssimas.
    Grato.

    • Rafael Clares outubro 5, 2011 às 3:41 am

      Daniel, até dá, utilizando jscript e userAgent… mas não é o foco do post.
      Dê uma lida sobre User Agent do Jscript para quando for Chrome o jscript tomar uma ação de “parar” a aplicação ou redirecionar para outra tela …

  69. Miojex novembro 24, 2011 às 2:35 am

    Obrigado manolo gostei (:

  70. JLânio Morais fevereiro 21, 2012 às 5:54 pm

    Excelente função. Obrigado por compartilha-la.

  71. Gabriel Coelho abril 15, 2012 às 3:43 am

    As imagens soltas dentro de um diretório junto ao arquivo thumb funciona perfeitamente
    Mas quando coloco as imagens dentro de um diretório, por exemplo uploads, nem debaixo de reza ele pega a imagem por $_GET, tem como me dar uma força?

    Grato

    • Rafael Clares abril 22, 2012 às 2:46 am

      Gabriel, desculpe a demora em responder, você tem que passar o diretório no parâmetro ou adicionar ao GET, ex:
      $img = “myDir/”.$_GET[‘img’];

  72. Henrique Zanini junho 5, 2012 às 8:03 pm

    Tentei fazer a adaptação para criar a thumb em png, mas não funcionou, você poderia me dizer como ficar o código? :s

    • Rafael Clares junho 12, 2012 às 4:28 pm

      Eh Henrique, cara teria que alterar o código para gerar outras extensões. Esse script já é bem velho, irei postar um novo script com mais possibilidades;

      • thiagocneves julho 27, 2012 às 5:59 pm

        Você ja postou esse script com outras possibilidades? Como por exemplo cortar a imagem: Uma imagem retangular (2000 x 1000) ser redimensionada (200 x 100) e cortada proporcionalmente para as medidas de um quadrado (100 x 100) a partir do centro?

      • Rafael Clares agosto 1, 2012 às 3:53 pm

        Thiago, infelizmente não era o foco do post. Mas irei postar sim algo completo, é que esse post é bem antigo, você viu que é de 2008 ? por isso é tão “pobrinho” mas irei criar um novo post!

  73. Alexandre Mateus junho 13, 2012 às 2:16 am

    O script pode ser velho, mas mesmo 4 anos depois ainda ta ajudando gente por aqui. Muito obrigado.

  74. Luiz Tadeu junho 28, 2012 às 2:53 pm

    Muito bom, muito obrigado, deixou o index do meu site muito mais leve, pois ele não apenas redimensiona, mas também altera a qualidade, já que a imagem fica pequena, não faz diferença alguma. Obrigado.

  75. Bruno agosto 7, 2012 às 12:23 am

    Parabéns! Esse código tá perfeito: enxuto e direto. Suas dicas foram fantásticas e você, nesse post, me ajudou a transformar um código enorme que eu tinha em poucas linhas. Genial. Parabéns!

  76. Amauri Da Silva Junior novembro 7, 2012 às 3:13 pm

    Rápido, simples e rasteiro. Muito bom mesmo, me poupou muito trabalho aqui, parabéns.

Os comentários estão desativados.

%d blogueiros gostam disto: