Sistema de UPLOAD de imagem

Fala galera, como posso fazer um sistema de upload que após ser enviado irá gerar uma miniatura da imagem que foi feito o upload.

`
//Upload de arquivos
// verifica se foi enviado um arquivo
if(isset($_FILES[‘arquivo’][‘name’]) && $_FILES[“arquivo”][“error”] == 0)
{
echo "Você enviou o arquivo: " . $_FILES[‘arquivo’][‘name’] . “
”;
echo "Este arquivo é do tipo: " . $_FILES[‘arquivo’][‘type’] . “
”;
echo "Temporáriamente foi salvo em: " . $_FILES[‘arquivo’][‘tmp_name’] . “
”;
echo “Seu tamanho é: " . $_FILES[‘arquivo’][‘size’] . " Bytes

”;

$arquivo_tmp = $_FILES['arquivo']['tmp_name'];
$nome = $_FILES['arquivo']['name'];
 
// Pega a extensao
$extensao = strrchr($nome, '.');

// Converte a extensao para mimusculo
$extensao = strtolower($extensao);

// Somente imagens, .jpg;.jpeg;.gif;.png
// Aqui eu enfilero as extesões permitidas e separo por ';'
// Isso server apenas para eu poder pesquisar dentro desta String
if(strstr('.jpg;.jpeg;.gif;.png', $extensao))
{
    // Cria um nome único para esta imagem
    // Evita que duplique as imagens no servidor.
    $novoNome = md5(microtime()) . $extensao;
     
    // Concatena a pasta com o nome
    $destino = 'imagens/' . $novoNome;
     
    // tenta mover o arquivo para o destino
    if( @move_uploaded_file( $arquivo_tmp, $destino  ))
    {
        echo "Arquivo salvo com sucesso em : <strong>" . $destino . "</strong><br />";
        echo "<img src="" . $destino . "" />";
    }
    else
        echo "Erro ao salvar o arquivo. Aparentemente você não tem permissão de escrita.<br />";
}
else
    echo "Você poderá enviar apenas arquivos "*.jpg;*.jpeg;*.gif;*.png"<br />";

}
else
{
echo “Você não enviou nenhum arquivo!”;
}
`

não se esqueça de no form coloca o enctype=“multipart/form-data”