Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mruoppolo

Redimensionamento de imagens

Recommended Posts

Olá, tudo bem?

Eu tenho este código aqui para upload de imagens, porém eu preciso que todas as imagens que forem feitas uploads sejam redimensionadas sem distorcer com os tamanhos 200 X 200 mesmo que seja feito um crop na imagem.

if ( isset( $_FILES[ 'arquivo' ][ 'name' ] ) && $_FILES[ 'arquivo' ][ 'error' ] == 0 ) {

 
    $arquivo_tmp = $_FILES[ 'arquivo' ][ 'tmp_name' ];
    $nome = $_FILES[ 'arquivo' ][ 'name' ];
 
    // Pega a extensao
    $extensao = pathinfo ( $nome, PATHINFO_EXTENSION );
 
    // Converte a extensao para minusculo
    $extensao = strtolower ( $extensao );
 
    if ( strstr ( '.jpg;.jpeg;.gif;.png', $extensao ) ) {

        $novoNome = uniqid ( time () ) .".". $extensao;
 
        // Concatena a pasta com o nome
        $destino = '../../images/uploads/usuarios/' . $novoNome;
 
        // tenta mover o arquivo para o destino
        if(move_uploaded_file($arquivo_tmp, $destino)){
            $sql = mysqli_query($conn,"update tb_users set strUserImage='$novoNome' where intUserID='".$_SESSION['userID']."'");
            header("Location: ../../../painel.php?fotoSalva=true");

            //Busca Adm
            $ba = mysqli_query($conn,"select * from tb_users where intAdmID='".$_SESSION['id']."'");
            $adm = mysqli_fetch_assoc($ba);

            //Gera Log
            $log = mysqli_query($conn,"insert into tb_log (strLogText) values ('Usuário ".$adm['strUserNome']." atualizou a foto de perfil')");
        }
        else
            echo 'Erro ao salvar o arquivo. Aparentemente você não tem permissão de escrita.<br />';
    }
    else
    	header("Location: ../../../painel.php?fotoErroExtensao=true");
}
else
    echo 'Você não enviou nenhum arquivo!';

Como eu posso fazer isso??

Obrigado :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu queria conseguir montar direto no código que eu já tenho pra não precisar colocar outras classes no projeto :/

Então Beraldo, mas eu não posso manter a proporção, porque eu preciso que o sistema fique com exatamente 200 x 200, por isso eu disse que poderia fazer um crop.

Muito obrigado gente :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Beraldo, mas eu não posso manter a proporção, porque eu preciso que o sistema fique com exatamente 200 x 200, por isso eu disse que poderia fazer um crop.

A lógica é a mesma. Só mudam os parâmetros.

Leia a documentação de imagecopyresampled(). Veja que existem os pontos (dimensões) da imagem de origem e destino. Basta mudar esses valores e você irá copiar trechos exatos da imagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.