Saudações meus queridos, estou de volta com mais uma vídeo aula falando sobre manipulação de imagens com PHP.
Para completar nosso sistema como prometido. Nesta aula veremos como aceitar arquivos GIF e PNG utilizando a função de redimensionar e aplicar marca d’água!
Espero que gostem, lembrem de ajudar a UP dando um retweet e divulgando essa aula em seu Orkut!
Aquele forte abraço e ate a próxima!
function RedimensionaPng($tmp, $name, $largura, $pasta){
$img = imagecreatefrompng($tmp);
$x = imagesx($img);
$y = imagesy($img);
$altura = ($largura*$y) / $x;
$nova = imagecreatetruecolor($largura, $altura);
imagealphablending ($nova, true);
$transparente = imagecolorallocatealpha ($nova, 0, 0, 0, 127);
imagefill ($nova, 0, 0, $transparente);
imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
imagesavealpha($nova, true);
imagepng($nova, "$pasta/$name");
imagedestroy($img);
imagedestroy($nova);
return($name);
}
UP²
cadê o video vc não colocou?
Show já está RetwitadO !!!
UPssssss, tinha esquecido o embed
sushuhsuhs
Robson como faço para manter a imagem original?
Por exemplo: se ela for menor que x “largura” e y “altura” como manter original?
e se for maior recebe um “Y” especifico….
abraços e obrigado pela VA…
boa boa…. ^^ espero q atendao os meus pedidos.. nunca atendem =[
Não tem como evitar toda essa duplicação de código?
Valeu muito apena ter acompanhado todas as vídeo aulas do sistema de upload.
As aulas ficaram muito boas e bem explicada.
Parabéns! Que Deus possa lhe ajudar cada vez mais.
@neodentrodamatrix: vc pode utilizar o getimagesize como condição para executar o redimencionamento! EX:
$imgsource = getimagesize($tmp); if($imgsource[0] <= 649){ echo 'Imagem menor que o permitido!'; }@Tutorial City: tem como validar dentro da uma função upload para alterar apenas o imagecreatefrom de acordo com o type, fica a seu criterio
muito boa mesmo a video aula, como o amigo falou como add video e tambem musica tipo mp3, tem como fazer isso Robson, se houver mostra como se faz ok cara e meus parabéns e tudo de bom.
mais uma video aula show de bola
Robson, bota pra baicar tudo por favor
Show Show Show, como sempre continue assim…
ola robson, muito boa a serie de video aulas.
Eu nao consegui te mandar email entao vim pedir aqui, eu mandei a video aula para vc depois da correçao, mas nao foi falado nd e nem foi colocado no site, poderia me dizer se algo aconteceu de errado?
obrigado.
@Robson V. Leite
Descobri duas maneiras, uma inteligente e outra nem tanto.
A maneira inteligente é usando objetose o conceito de polimorfismo; a maneira não tão inteligente é usando a função call_user_func_array.
Vlw
muito boa a video aula Robson…
valeu…
Cara… não tenho nem palavras pra dizer o quanto isso tudo está me ajudando!
E sem dúvida se UpInside não é o melhor site, está entre os melhores!!!
Continuem assim Aquipe UP!!!!
Um grande abraço…
@Matheus silva: vou ver e te mando um e-mail meu querido!
Robson teria como fazer uma vídeo aula ensinando a criar divs com cantos arredondados na imagens utilizando css e jquery?
Quais seriam as melhores formas de se criar cantos arredondados com css3, ou Java script.
Ultimamente, tenho observado que alguns grandes portais tipo o http://globoesporte.globo.com/.
têm dado ênfase as imagens com os cantos arredondados.
@Roberto, da uma pesquisada no google, tenho certeza que você vai achar algo. Sobre esse assunto de arredondamento de imagens e DIVs, já te bastante coisa na internet falando sobre esse assunto.
Robson Só esta faltando a video aula ensinando a alterar imagem e substituir altomaticamente néh?
Uma braço essas video aulas estao 10 parabens
ROBSON VOCÊ ESTA DE PAREBENS SUAS VIDEO AULAS ESTAO ME AJUDANDO MUITO MESMO, MAIS TENHO UMA DUVIDA COMO EU FAÇO PARA ALTERAR A IMAGEM ? SEM TER QUE DELETAR E DEPOIS UPAR OUTRA.
UM FORTE ABRAÇO
Muito boa Robson a sua série de va,Fiz minha galeria de imagens baseada nesse sistema!
só reparei uma coisinha de errado! no meu sistema aqui eu acrescentei várias coisas como por exemplo jo jquery multi- file entre outros! mais de qualquer forma verifica se funciona tudo no ie pq eu axo que nao!
tera que acrescentar esse tipo de array “image/x-png” para o ie interpreta esse tipo de imagem.. coisa simpres so colocando isso: elseif($type ==”image/png” or $type ==”image/x-png”){ }
ah e futuramente eu vou estar colocando a galeria para baixar.
Mais muito Bom aquele forte Abraço!
Ola Robson, descobri um pequeno probleminha:
vc upa, vamos supor, 5 imagens (no banco de dados ficaria: 01.jpg, 02.jpg, 03.jpg, 04.jpg e 05.jpg).
quando vc clica na imagem “05.jpg” pra excluir, ela exclui a certa…mas quando se clica em uma imagem anterior á ultima, como por exemplo “02.jpg”, ela exclui a “05.jpg” e não a “02.jpg”..
o problema é que só exclui da ultima para a primeira…como resolver?
abraços.
rs resolvido..foi só atenção mesmo!
como limitar o numero de uploads?
abraços
neodentrodamatrix, é so voce ultilizar o jquery multifile se eu não me engano tem até uma video aula bem bacana e é bem simples de se últilizar e bem mais interativo com o usuário e com o codigo!
Abraços!
Video Aula :
http://www.upinside.com.br/video-aulas/multiplo-upload-com-cadastro-em-banco-de-dados-e-alteracao-do-nome-do-arquivo
Olá, parabens pela va, muito bom…
tenho apenas um pequeno problema, o sistema funciona tudo muito direitinho com o firefox, mas quando tento fazer upload de uma img .png no internet explorer nao executa a função respectiva ao tipo png.
Também acontece com alguém daqui??
cumps,
Rui Fernandes
RUI, tenta assim
———————
no upload_func:
<?php
function upload_png($tmp, $nome, $largura, $pasta){
$img = imagecreatefrompng($tmp);
…
————————–
ao invez de imagecreatefromjpeg tenta o imagecreatefrompng, deste modo para mim nao deu problemas
não esquece também no upload.php:
$nome = 'upinside-'.md5(uniqid(rand(), true)).$i.'.png';
Olá Robson, muito boa a série de Vídeo Aulas.
Vc postou o código completo no site? Não estou achando.
Parabéns pelo trabalho. To terminando de assistir o seu curso do Portal Imobiliário com PHP e é excelente também, recomendo a todos.
Forte Abraço!
Olá Robson , primeiramente parabéns pela série de aulas sobre Upload.
Estou com um problema. Como fazer para que o scripit funcione no ie ?
No mozilla funciona perfeitamente mas no ie não funciona.
Obrigado……
ola amigo, não consegui a primeira aula não grava nem na pasta upload…fiz de outra forma com um script php simples da net e funfo mas eu queria do seu modo revi a aula vairas vezes e nada…tem como passa os codigos só da primeira aula…grato
Buenas Robson, tenho acompanhado várias de suas va, uma melhor que a outra, nesta serie de upload de imagens ficou uma dúvida, ainda não tive tempo p testar, no caso de imagens ou fotos na vertical ou com diferença de proporção entre altura e largura, este redimencionamento não irá distorcer a imágem?
Grande abraço e, mais uma vez, Parabéns.
@Rodrigo: só vai distorcer se a imagem for maior que o valor de redimensionamente estipulado. ex: width 500. se a imagem tiver menos de 500 de largura o redimensionamento aumenta ela para cortar, ai perde qualidade. Mas quando ao distorcer a altura x largura o sistema não permite!
Fala moçada!! Não estava conseguindo fazer o upload da imagem para a pasta selecionada com o Internet Explorer 8. Resolvi colocar no código para pjpeg também. Agora deu certo!!
Ficou assim
array(‘image/jpg’,'image/jpeg’,'image/pjpg’,'image/pjpeg’);
Espero ajudar!
Abraço!
@André: Fala meu querido o pjpg pode remover, foi um erro meu a validação pe pjpeg mesmo :/
Robson tah tudo beleza cara, mas não consigo fazer upload de fotos grandes, por exemplo uma foto de 1, 93 MB não dá certo
Aconteceu isso com alguem de voces?
tipo uma foto grande não faz o upload?
Sem chance fazer upload de imagens com mais de 2MB, :s
hehe, tenho q estudar mais mesmo, acabei de descobrir que o limite do servidor PHP eh 2MB eh soh mudar esse valor na configuração
@Sandro: Olá meu querido, verifique qual o limit upload do seu servidor de hospedagem, Geralmente esta entre 1 e 2mb
Muito boa as video aulas, parabéns!!
Será que tem como disponibilizar os scripts para download ?
Valew!!
Olá Robson então o meu servidor de hospedagem do meu cliente é o king host ele não deixa eu fazer o upload diz que não tenho permissão porem alterei a permissão para 0755 e 0777 também porem não funcionou do mesmo jeito. O que posso fazer para resolver ?
@Robson
Fala robson, blz? bem, queria saber se tem alguma forma de adaptar uma barra de progresso nesse upload utilizando php? abrs
Responde ai robson! eu queria fz essa barra de progresso em meu upload de arquivos
@Lucas Silva: Fala meu querido, até hoje só vi uploads com progresso funcional em ASP ou FLASH!
robson teria como você posta o downloads dos arquivos utulizados?
Boa tarde*-*
Robson, o q poderia adicionar no codigo para poder fazer upload de pdf?
t+
Robson
Boa Noite, estava eu aqui fazendo um álbum quando me deparei com uma situação…
Sem querer dei um duplo clique no botão de “upload” do formulário… e ele enviou e cadastrou duas imagens.
Aí testei clicando várias vezes, ele fez upluoad e cadastrou 8 vezes…
O que faço para evitar isso ?
@Andrey Martins Lanhi: Vc pode trabalhar com um header location ao final do cadastro. assim vc limpa o envio.
//SCRIPT QUE CADASTRA
header(‘Location: pagina.php’);
Nestá página.php vc coloca a mensagem de cadastro com sucesso e ações para um novo cadastro ou algo assim!
O sistema de Upload funcionou em localhost, porem não quer funcionar no servidor, ja dei permissão 777 para pasta destino mas nada! Vc’s tem ideia de como resolver isso?
Olá robsom tentei várias vezes achar um erro que dá mas nada eu vi todas as va desde o
exercicio de php e e nada vc poderia postar os arquivos usados para estudar?
se vc uder vai ser muito bom .
Abraço estou sempre vedo suas va são muito bos continue nos dando esta opotunidade de aprender .
Olá Robson, primeiramente queria te parabenizar por essa excelente video-aula!
Seria possível vc postar o código para download como as outras videos aulas?
Por favor! Obrigado desde já.
Ola meu querido. Cara, como faço para excluir as imagens com loop? No portal imobiliario criamos o anuncio e colocamos as fotos, mas só conseguir excluir o thumb e o anuncio, as fotos da pasta midia não estou conseguindo… Consegue ajudar com o código? Abraços
@Anderson basta usar o unlink (caminhodoarquivo.extensao) ; ;D
Oi Robson,Quando fazemos o upload das imagens elas vão para a pasta específica e cria automaticamente a pasta cache.
Tem como limpar o conteudo desta pasta, uma vez que ela acupa spaço aproximado ou igual ao da pasta das imagens?
Obrigado
ROBSON V. LEITE tudo bem?
Eu assisti suas video aulas , realmente estão muito boas
voce esta de parabens
eu queria te pedir so os arquivos da ultima video aula de upload a video aula 5
para estudar
por favor se possivel mande no meu e-mail seria de grande ajuda
obrigado
Ola Robson blz, achei muito tri as video aulas, parabens.
gostaria de saber se tu esta disponibilizando os link dos códigos?
Fala @Robson, tem como voce arranjar os scripts da aula não, pq o forum num ta funcionando, tow precisando muito pra colocar no meu site http://www.lucianoautopecas.com que tou fazendo
Abraços
Ola Robson blz?
consegue utilizar o teu script, funcionou perfeitamente, mas tem um probleminha no meu script
quando faço upload de imagens .png elas perdem o fundo transparente e fica com o fundo preto
como resolver isso?
@Celso, ele não “faz o upload em PNG” ele, manda a imagem em PNG e transforma ela em jpg, pode ver que no final tem imagejpeg($var) ; , eu nunca testei, mas acho que se usar o imagepng() pode funcionar, para mais informações veja em : http://br.php.net/imagepng
Boa tarde Luciano blz?
o link que tu passou não esta funcionando, e a minha duvida é o seguinte nas video aulas é mostrado upload de imagens em .png e estas imagens aparece normal depois na exibição da aula
porem as minhas quando são em png elas perdem o fundo trasparente e fica com o fundo preto.
tentei usar o imagepng() tambem não funcionou!
tem alguma sugestão.
como que eu faço para criar PASTA para cada galeria e eviar imagens para ela. utilizando esse sistema de upload, ex:
Galeria : Animais –> pasta Animais;
Galeira: Shows –> pasta Shows;
e assim por diante;
porque acho que fica muito bagunçado na mesma pasta, mesmo tendo MD5.
Exelente video aula, mais uma vez parabéns pela sua iniciativa, não teria como vc dar a dica de como deixar o PNG com o fundo transparente? porque se fizermos o upload do png com o fundo transparente o fundo fica preto, só faltaria isso para esse sistema fucar perfeito.
bom dia Robson
muito boa a video aula, quero dizer exelente..
tudo funciona perfeitamente………….(…..)
so q no internet explore 8 não funciona o upload sera q vc poderia me da uma forcinha……
hum nao ler o post todo da nisto fica enviando msg d pro q ja foi resolvido, rsrsrs
video aula execelete ja corrigi a validação vlw ai….
TERIA COMO CRIAR UM UPLOAD MAIS DE ARQUIVOS DO EXCEL???
Robson em 1º Lugar sou um grande fã seu, suas video aulas são muito intuitiva e de facil aprendizagem, na marca d’agua eu poderia utilizar uma imagem de uma moldura por exemplo, como eu faria para aplicar o tamanho da moldura ao tamanho correto que a imagem terá, um abraço.
Cara adoro suas video aulas, me ensinam muito, muito bem explicada.
Essa sugestão do Alexandre Carmo da imagem com fundo transparente que fica preto acho que seria de grande ajuda se vc desse essa ajuda pra galera, eu mesmo adoraria ter a solução deste problema, no mais esta perfeito.
Robson V. Leite, gostaria de saber de você que é um grande desenvolvedor, porque estou tenho este problema. Tenho um Formulário.PHP que faz pelo IE o upload da imagem .JPG sem problemas. Agora, pelo Mozilla 5 isso não ocorre, ele não carrega a imagem. Por quê será ?
Valeu !
Olá, minha dúvida é, uso o WordPress, que usa uma programação php, mas sempre que envio uma imagem ele redimensiona a mesma, e o fundo que é transparente fica preto, como faço para arrumar isso, em que parte do código posso alterar para solucionar esse problema….
obrigado
E aí Robson meu querido,
Assisti à VA sobre uploads de imagens. No servidor local em meu PC as imagens são encaminhadas normalmente para a pasta, mas quando envio os arquivos para o servidor web aparece uma mensagem de erro informando que a imagem não está sendo enviada. Segue a mensagem:
Warning: imagejpeg() [function.imagejpeg]: Unable to open ‘../uploads/artigos/7f16609c63640892cb62a78c418f72cf.jpg’ for writing: No such file or directory in /home/pauloedu/public_html/seidgo/admin/scripts/funcao_upload.php on line 11
O código da linha 11 é: imagejpeg($nova, “$pasta/$name”);
Valeu pelo apoio.
Sou grande fã do site e das video aulas do robsom que são muito bem explicadas, mais vc’s estão deichando a desejar de não responder a dúvida da galera, vamos dar suporte pra galera ai, foi isso que fez a internet ser o que é hoje, a interçao dos sites com os usuários, os sites que disponibilizam conteú de boa qualidade pros usuários, e os usuários que trasem trafego para o site, não vamos dechar essa parceria que até o momento tem dado certo sumir, vamos dar suporte para os usuários com dúvida, seja o robson, os adm do site ou os usuários que tenham conhecimento para responder.
Fala grande Róbson,me surgiu uma dívida e acreditoque seja fácil a aplicação nesse modelo de upload, teria como eu limitar o envio de imagens para cada galeria?por exemplo quero que cada galeria de imagens tenha no máximo 75 fotos, poderia me ajudar nisso? Valeu
@Rodrigo: a lógica é essa.
select * from galeria where galeria = 1;
if(mysql_num_rows(select) >= 75){
não cadastra
}else{
cadastra
}
não é o script tá. é a logica
Alguém me dê uma ajudinha por favor..
Assisti à VA sobre uploads de imagens. No servidor local em meu PC as imagens são encaminhadas normalmente para a pasta, mas quando envio os arquivos para o servidor web aparece uma mensagem de erro informando que a imagem não está sendo enviada. Segue a mensagem:
Warning: imagejpeg() [function.imagejpeg]: Unable to open ‘../uploads/artigos/7f16609c63640892cb62a78c418f72cf.jpg’ for writing: No such file or directory in /home/pauloedu/public_html/seidgo/admin/scripts/funcao_upload.php on line 11
O código da linha 11 é: imagejpeg($nova, “$pasta/$name”);
Valeu pelo apoio.
@Paulo Freitas: verifique no valor da variavel $pasta, se o caminho corresponde ao local de sua pasta, veja tbm as permissões das mesmas!
O forum esta fazendo muita falta
Bom dia meu caro Robson!
Tenho estudado suas aulas e tem me ajudado muito, mas tem uma video aula sua que ensina usar o ‘Navicat Premium 8′ para a construção do mural, pois bem usei e ficou quase perfeito como o seu, eu digo “quase” porque todo o conteúdo que eu coloco na área ‘textos’ as palavras que contém ‘cedilhas, e acentos’ os mesmo não são visualizados no site, e não é problemas de fonte pq já testei até com arial, espero que vc possa me ajudar vlw! desde já obrigado… Paz!
Prezado Robson
Em sua video aula “Criando um site profissional – aula 14, sobre validando as caixas da página de contato, você muda a configuração do botão ‘enviar’ e nas videos aulas isso não aparece, apanhei muito pra descobrir he he… só um alô awe valeu! Mas suas aulas são 10, mais uma vez digo que tenho aprendido muito! abraços…
@Marcelo Rocha: a alimentação da tabela deve ser feita por um formulário e não manualmente!
Grande tutor Robson, bom dia meu caro!!
Estou muito satisfeito com suas vídeo aulas, já estou com meu site graças a seus bons e claros ensinos, vc pode até conferir, criticar ou sugerir rs… http://www.marcelorochads.com.br Mas cara por favor preciso de mais!! rs… ocnfigurei tudo certinho como vc ensinou, minha página de contato parece estar funcionando perfeitamente mas as mensagens não chegam no meu e-mail.. já fiz tudo q imaginei q pudesse estar errado, troquei as senhas coloquei tudo igual a senha do arquivo config. do meu painel de controle e da minha caixa de e-mail, mas ainda sim continuo postando mensagens e não recebendo no meu e-mail, vc tem alguma idéia do q pode ser? Aguardo anciosamente seu retorno ok Robson, e é um prazer imenso conhecê-lo, espero ainda poder retribuir sua iniciativa, pq cedo aprendi; “Dai honra a quem tem honra!” Abraços.
@Marcelo Rocha: Olá meu querido, obrigado pelas palavras. Veja a aula de PHPMailer aqui na Up e aplique a seu sistema, com e-mail autenticado seu problema com certeza será eliminado!
Vlw mesmo Robson, vou fazer agora pra ver se resolvo, to estudando várias aulas aqui, mas agora vou direto no x da questão hehe… Mais uma vez THANK YOU VERY MUCH!!!
Se eu quiser cadastrar um titulo pra cada imagem terei que fazer um loop para o título também?
Olá Robsom primeiro suas vídeo aula são super,
Vi a vídeo aula do Clevton Ferreira sobre categorias e sub categoris de imagens.
Você poderia mostra como em php ?
Ex: um de carros
valeu robson teria como vc posta os códigos pra donw? abraço
Robson V. Leite,
Cadê os arquivos Robson, nós queremos os arquivos Robson, onde estão os arquivos Robson. rs
Obrigado pela va
Mas com os arquivos o aprendizado é bem mais completo, seria possivel disponibilizar?
Olá!
O post é ótimo, mas fiquei com um problema aqui e não sei como resolver espero que possa me dar uma luz.
O sistema esta funcionando normal, mas o que fazer para que caso a página seja atualizada após o upload que as imagens enviadas não sejam cadastradas novamente. Aqui esta acontecendo isso, caso a página seja atualizada após o envio e cadastro das imagens, o sistema dá novo nome as imagens e cadastra as images novamente. O que fazer para que isso não ocorra.
Fico muito grato pelo post e pelo seu tempo.
robson tem como disponibilizar os codigos da video aula pra estudo? pos tou com problemas por causa dos dados que nao estao sendo inserido no banco de dados xD
criei o upload de png porem quando eu envio uma png com fundo transparente a imagem redimensionada fica com o fundo preto.
Por favor alguem me ajuda
Pessoal acabei de solucionar o problema do fundo preto quando enviamos uma imagem com fundo transparente png.
Segue a solução:
function RedimensionaPng($tmp, $name, $largura, $pasta){ $img = imagecreatefrompng($tmp); $x = imagesx($img); $y = imagesy($img); $altura = ($largura*$y) / $x; $nova = imagecreatetruecolor($largura, $altura); imagealphablending ($nova, true); $transparente = imagecolorallocatealpha ($nova, 0, 0, 0, 127); imagefill ($nova, 0, 0, $transparente); imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $altura, $x, $y); imagesavealpha($nova, true); imagepng($nova, "$pasta/$name"); imagedestroy($img); imagedestroy($nova); return($name); }Olá. Muito boa a vídeo aula. Mas estou com um problema.
Não estou conseguindo mover para a pasta.
Pode mandar o script para o meu E-mail?
Atencisoamento,
Jean Moraes
Aonde está a video aula do ver.php e a do postID da primeira video aula, que ja começa pronta?? obrigado, tem como disponibiliza o download dos códigos?
Robson V. Leite Porque imagem gif perde a animação quando e feito o upload, como resolver esse problema?
Aguardo respostar
Ola, primeiramente agradeço o esforço de vocês, estão de parabéns ótimo conteudo para aprendizado, não sei se ja existe esta va aqui mas peço se possivel ajuda.
Quando vamos upar a imagem teria como fazer um preview? tem varios tutoriais mas um funciona em firefox o outro não sera que seria possivel uma va com esse preview?
grato!
Exelente !, gostaria do código fonte
não foi da maneira correta vou terntar novamente.
@Renan Valente valeu cara, tudo que eu precisava !
Show de bola essa video aula montei um sistema de upload dinamico com jQuery!! forte abraço a todos!!