Upload de imagens com redimensionamento
Publicado por Perfil removido (última atualização em 14/02/2014)
[ Hits: 17.800 ]
O script abaixo é composto de duas partes: um formulário, por onde você envia o arquivo e o trecho em que o servidor recebe a imagem e a redimensiona.
Para que funcione perfeitamente, é necessária a instalação, caso o servidor seja GNU/Linux, da biblioteca GD do PHP. A parte do redirecionamento peguei de um desenvolvedor que criou uma classe responsável apenas pelo redirecionamento da imagem (link: http://www.jarrodoberto.com/articles/2011/09/image-resizing-made-easy-with-php ). O restante, (upload, criação de formulário) foram adaptados para este exemplo.
Caso tenha sido útil, não deixe de postar seu comentário!
<?php /* * Para maiores informações da classe resize2.php, visite o site: http://www.jarrodoberto.com/articles/2011/09/image-resizing-made-easy-with-php * Este é o site do autor do script resize2.php * */ if(isset($_POST['gravar']) && isset($_FILES['imagem'])){ $imagem = $_FILES['imagem']['name']; // Nome originai da imagem $dir = "imagens"; // Diretório das imagens $salva = $dir."/".$imagem; // Caminho onde vai ficar a imagem no servidor move_uploaded_file($_FILES['imagem']['tmp_name'],$salva ); // Este comando move o arquivo do diretório temporário para o caminho especificado acima $info_imagem = pathinfo($salva); // Resgatando extensão do arquivo recém-baixado $nova_imagem = time().rand(1000,5000).".".$info_imagem['extension']; // Nome da imagem redimensionada // *** Include the class // ESte arquivo está no arquivo ZIPADO do artigo require_once "resize2.php"; // *** 1) Initialise / load image $resizeObj = new resize($salva); // *** 2) Resize image (options: exact, portrait, landscape, auto, crop) $resizeObj -> resizeImage(200, 200, 'crop'); /* Especificando que a nova imagem terá 200 px de largura e altura. E utilizando a opção CROP, que é considerada a melhor pois, recorta a imagem na medida sem distorção Se quizer ver outras opções, visite o site do desenvolvedor de resize2.php (http://www.jarrodoberto.com/articles/2011/09/image-resizing-made-easy-with-php) */ // *** 3) Save image $resizeObj -> saveImage($dir."/".$nova_imagem, 100); // O arquivo-base é removido unlink($salva); // Exibindo mensagem, se tudo correu bem echo "UPLOAD REALIZADA COM SUCESSO"; } ?> <html> <head> <title>Upload com redimensionamento</title> </head> <body> <form action="teste.php" method="post" enctype="multipart/form-data"> <input type="file" name="imagem" id="imagem" /> <input type="submit" name="gravar" value="Gravar" id="gravar" /> </form> </body> </html>
Listando arquivos do diretório
Gerar código de barras com barcode + PHP
Visualizador de Imagens em PHP-GTK2
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Jogando com Proton no LInux (2)
Linux Mint limitando rede a 20Mbps (6)
Ingress NGINX Controller CVSS base score of 9.8 (4)
Impossível corrigir problemas, você manteve (hold) pacotes quebrados. (2)