Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia a todos!
O que acontece:
Preciso que ao usuário submeter uma imagem, o script envie a imagem para uma pasta e crie um thumb junto. Esse thumb deve ser proporcional, ou seja, não pode perder a qualidade. Pesquisando na net descobri uma formula matemática pra isso:
**$Altura_nova = ($altura_do_arquivo*$largura_nova)/$largura_do_arquivo**
Até ai tudo bem. Ao ser submetido o formulário, a imagem é enviada, mas em vez de criar um thumb, esta sendo criado um arquivo do tipo .FILE!!!!
Já tentei de tudo aqui mas não estou achando o erro. Se alguém puder me ajudar a resolver, agradeço muito!!
Código que estou utilizado:
<?php
/**
* @author Tiago Colucci
* @copyright 2009
*/
// Configurações upload
$diretorio = 'images/';
$pesoMax = '200000000'; // Em bytes
$imagem = $_FILES['imagem']; // pego o array com as imagens e as coloco na variavel $imagem
if(!empty($imagem['name'])){
if($imagem['size'] > $pesoMax){
echo '<script type="text/javascript">
alert("Arquivo em tamanho muito grande, a imagem deve ter no máximo ' . $pesoMax . ' bytes. Envie outro arquivo, ou compacte-o");
history.go(-1);
</script>';
exit;
}
/*if($tipo != "2" and $tipo != "1" and $tipo != "3"){
echo '<script type="text/javascript"> alert("A imagem tem que ser um JPG, PNG ou GIF."); history.go(-1); </script>';
exit;
}*/
else{
$caminho = $diretorio.$imagem['name'];
if(move_uploaded_file($imagem['tmp_name'], $caminho)){
//echo "$caminho";
list($largura,$altura,$tipo)=getimagesize($caminho);
#setando a largura da miniatura
$new_width = 145;
#setando a altura da miniatura
$new_height = ($altura*$new_width)/$largura;
$Thumbnail = imagecreatetruecolor($new_width, $new_height);
$imagemm = imagecreatefromjpeg($caminho);
#================Diminuo a imagem preservado as cores e diminuindo a imagem, no caso 90 x 90
imagecopyresampled($Thumbnail, $imagemm, 0, 0, 0, 0, $new_width, $new_height, $largura, $altura);
#================Aqui a imagem vai pequena
imagejpeg($Thumbnail, $diretorio.'pequena_'.$imagemm);
#================Criando a imagem
$pequena = $diretorio.'pequena_'.$imagemm;
$img = $imagem['name'];
}
}
}
?>Agradeço muito pela atenção! Valew.
Carregando comentários...