Set image height and width

Asked

Viewed 427 times

1

I have this PHP code, I am uploading photos and saved them in a folder called 'photo' of my computer, I needed to be able to define the image with width and height of 1000 px and 72dpi, beyond the 5mb that I’ve been able to do.

`

        //Pasta onde o arquivo vai ser salvo
        $_UP['pasta'] = 'foto/';

        //Tamanho máximo do arquivo em Bytes
        $_UP['tamanho'] = 1024*1024*100; //5mb

        //Array com a extensões permitidas
        $_UP['extensoes'] = array('png', 'jpg', 'jpeg', 'gif');

        //Renomeiar
        $_UP['renomeia'] = false;

        //Array com os tipos de erros de upload do PHP
        $_UP['erros'][0] = 'Não houve erro';
        $_UP['erros'][1] = 'O arquivo no upload é maior que o limite do PHP';
        $_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especificado no HTML';
        $_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente';
        $_UP['erros'][4] = 'Não foi feito o upload do arquivo';

        //Verifica se houve algum erro com o upload. Sem sim, exibe a mensagem do erro
        if($_FILES['arquivo']['error'] != 0){
            die("Não foi possivel fazer o upload, erro: <br />". $_UP['erros'][$_FILES['arquivo']['error']]);
            exit; //Para a execução do script
        }

        //Faz a verificação da extensao do arquivo
        $extensao = strtolower(end(explode('.', $_FILES['arquivo']['name'])));
        if(array_search($extensao, $_UP['extensoes'])=== false){        
            echo "
                <META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://localhost/Aula/upload_imagem.php'>
                <script type=\"text/javascript\">
                    alert(\"A imagem não foi cadastrada extesão inválida.\");
                </script>
            ";
        }

        //Faz a verificação do tamanho do arquivo
        else if ($_UP['tamanho'] < $_FILES['arquivo']['size']){
            echo "
                <META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://localhost/Aula/upload_imagem.php'>
                <script type=\"text/javascript\">
                    alert(\"Arquivo muito grande.\");
                </script>
            ";
        }

        //O arquivo passou em todas as verificações, hora de tentar move-lo para a pasta foto
        else{
            //Primeiro verifica se deve trocar o nome do arquivo
            if($UP['renomeia'] == true){
                //Cria um nome baseado no UNIX TIMESTAMP atual e com extensão .jpg
                $nome_final = time().'.jpg';
            }else{
                //mantem o nome original do arquivo
                $nome_final = $_FILES['arquivo']['name'];
            }
            //Verificar se é possivel mover o arquivo para a pasta escolhida
            if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta']. $nome_final)){
                //Upload efetuado com sucesso, exibe a mensagem
                $query = mysqli_query($conn, "INSERT INTO usuarios (
                nome_imagem) VALUES('$nome_final')");
                echo "
                    <META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://localhost/Teste/upload_imagem.php'>
                    <script type=\"text/javascript\">
                        alert(\"Imagem cadastrada com Sucesso.\");
                    </script>
                ";  
            }else{
                //Upload não efetuado com sucesso, exibe a mensagem
                echo "
                    <META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://localhost/Teste/upload_imagem.php'>
                    <script type=\"text/javascript\">
                        alert(\"Imagem não foi cadastrada com Sucesso.\");
                    </script>
                ";
            }
        }`

1 answer

0

There is a class ready called wideimage you find it here: http://wideimage.sourceforge.net/

Example of use:

// Chama o arquivo com a classe WideImage
require('/caminho/WideImage.inc.php');
// Carrega a imagem 
$image = wiImage::load('/caminho/foto.jpg');
// Redimensiona a imagem
$image = $image->resize(400, 300);
// Salva a imagem em um arquivo (novo ou não)
$image->saveToFile('/caminho/nova_foto.jpg');

Browser other questions tagged

You are not signed in. Login or sign up in order to post.