$arquivo = isset($_FILES["arquivo"]) ?
$_FILES["arquivo"] : FALSE;
// Largura máxima (pixels)
$config["largura"] = 3200;
// Altura máxima (pixels)
$config["altura"] = 3200;
// Formulário postado... executa as ações
if($arquivo)
{
// Verifica se o mime-type do arquivo é de imagem
if(!eregi("^image/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))
{
$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg,
bmp, gif ou png. Envie outro arquivo";
}
else
{
// Para verificar as dimensões da imagem
// Verifica largura
if($tamanhos[0] > $config["largura"])
{
$erro[] = "Largura da imagem não deve
ultrapassar " . $config["largura"] . " pixels";
}
// Verifica altura
if($tamanhos[1] > $config["altura"])
{
$erro[] = "Altura da imagem não deve
ultrapassar " . $config["altura"] . " pixels";
}
}
// Imprime as mensagens de erro
{
foreach($erro as $err)
{
echo " - " . $err . "<BR>";
}
echo "<align='center'><a href="cadastro
.php
">Enviar outra Imagem!!!</a>";
}
// Verificação de dados OK, nenhum erro ocorrido, executa então o upload...
else
{
// Pega extensão do arquivo
preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
// Gera um nome único para a imagem
$imagem_nome = rand() . "." . $ext[1];
// Caminho de onde a imagem ficará
$imagem_dir = "arquivos/" . $imagem_nome;
// Faz o upload da imagem
$foto = "$imagem_dir";
// vamos ler a imagem
$lerimagem = imagecreatefromjpeg($foto);
// pegar a largura da imagem
$img_largura = imagesx($lerimagem);
// pegar a altura da imagem
$img_altura = imagesy($lerimagem);
// declara os tamanhos
$x = 700;
$pctg=70000/$img_largura;
$multi=$img_altura*$pctg;
$y = $multi/100;
// dar um nome padrão para a miniatura
$nome_miniatura = explode('.',$foto);
$nome_miniatura3 = $nome_miniatura[0].".jpg";
// Agora sim a gente pode criar a imagem
// definir o tamanho da nova imagem
$nova = imagecreatetruecolor($x,$y);
// agora é só copiar a imagem original para dentro da nova imagem
imagecopyresampled($nova,$lerimagem,0,0,0,0,$x+1,$y+1,$img_largura,$img_altura);
// salve o arquivo
imagejpeg($nova,$nome_miniatura3);
// Pronto, fim. Libera a memória usada
imagedestroy($lerimagem);
imagedestroy($nova);