Redimensionar imagem
Fala galera. Estou montando um sistema de upload de imagem para exibir no site.
A minha dificuldade é para redimensionar a imagem que foi selecionada. Quero fazer isso para evitar estragar o layout do site.
Já dei uma estudada nas funções imagecopyresampled , imagecreatefromjpeg mas nesse caso ele gera uma nova imagem. Se for um gif animado, ele não cria com a animação.
Segue o código que estou utilizando:
<?php
date_default_timezone_set('America/Sao_Paulo');
// Conexão com o banco de dados
$conn = @mysql_connect("localhost", "", "") or die ("Problemas na conexão.");
$db = @mysql_select_db("upload", $conn) or die ("Problemas na conexão");
// Recupera os dados dos campos
$foto = $_FILES["foto"];
// Se a foto estiver sido selecionada
if (!empty($foto["name"])) {
// Verifica se o arquivo é uma imagem
if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto["type"])){
$error[1] = "Isso não é uma imagem.";
}
// Pega as dimensões da imagem
$dimensoes = getimagesize($foto["tmp_name"]);
//Pega extensão da imagem
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
// Gera um nome único para a imagem
$nome_imagem = "dtq_comemore" . "." . $ext[1];
// Caminho de onde ficará a imagem
$caminho_imagem = "img/" . $nome_imagem;
// Faz o upload da imagem para seu respectivo caminho
move_uploaded_file($foto["tmp_name"], $caminho_imagem);
// Insere os dados no banco
$sql = mysql_query("INSERT INTO usuarios (foto) VALUES ('$nome_imagem')");
// Se os dados forem inseridos com sucesso
if ($sql){
echo "Foto cadastrada com sucesso.<br><br><a href=cad.php>Nova foto</a>";
}
else {
echo "Erro"; }
}
?>Discussão (6)
Carregando comentários...