Ir para conteúdo

Arquivado

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

nandosgp

redimensionamento de imagens

Recommended Posts

ola pessoal, sou meio novo na área e estou com um problema bem grande. Eu tenho um código php de upload, que por sua vez funciona muito bem.Mas o código passa as imagens sem redimensionar...então se a pessoa postar de um smart fone ela além de ficar de banda, fica muito grande e pesada. Eu tenho aqui um código de redimensionamento, mas não sei como integra-lo ao meu.Alguém pode me ajudar?

ele esta fora do script de upload.

<?php
function redimencionar($destino,$name,$largura,$pasta){
    
        $img=imagecreatefromjpeg($destino);
        
    $name = sha1($name).'.jpg';
    $x = imagesx ($img);
    $y = imagesy ($img);
    
    $largura =($x > $largura) ? $largura: $x;
    $altura  = ($largura * $y) /$x;
    
    if($altura>$largura){
        $altura = $largura;
        $altura = ($altura*$x) / $y;
        }
        $nova = imagecreatetruecolor ($largura,$altura);
         imagecopyresampled($nova,$img,0,0,0,0,$largura,$altura,$x,$y);
        imagejpeg($nova, "$pasta/$destino");
        imagedestroy($img);
        imagedestroy($nova);
        //return $nome;                
                
    }


?>

 

script de upload.

<?php
       if(isset($_POST['cadastrar'])){
        $titulo    =($_POST['titulo']);
        $preco     =($_POST['preco']);
        $descricao =($_POST['descricao']);
        
        //upload imagem***************************************************
        $file         = $_FILES['img'];
        $pasta    = count(array_filter($file['name']));
        
        //PASTA
        $folder        = 'upload/';
        
        //REQUISITOS
        $permite     = array('image/jpeg', 'image/');
        $maxSize    = 1024 * 1024 * 5;
        
        //MENSAGENS
        $msg        = array();
        $errorMsg    = array(
            1 => 'O arquivo no upload é maior do que o limite definido em upload_max_filesize no php.ini.',
            2 => 'O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE que foi especificado no formulário HTML',
            3 => 'o upload do arquivo foi feito parcialmente',
            4 => 'Não foi feito o upload do arquivo'
        );
        
        if($pasta <= 0){
            echo '<div class="alert alert-danger">
                        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
                        Selecione uma imagem!!
                    </div>';
        }
        else if($pasta >=2){
            echo '<div class="alert alert-danger">
                        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
                        Você ultrapassou o limite de upload. Selecione até 1 fotos e tente novamente!
                    </div>';
        }else{
            for($i = 0; $i < $pasta; $i++){
                $name     = $file['name'][$i];
                $type    = $file['type'][$i];
                $size    = $file['size'][$i];
                $error    = $file['error'][$i];
                $destino    = $file['tmp_name'][$i];
                require('redimencionamento.php');                
                
                if(!empty($name)&& in_array($type, $permite))
                    redimencionar($destino,$name,200,$pasta);                    
                else if($size > $maxSize)
                    $msg[] = "<b>$name :</b> Erro imagem ultrapassa o limite de 5MB";
                else{
                    
                    if(move_uploaded_file($destino, $folder.'/'.$novoNome)){
                        echo 'O diretório fotos ' , is_dir( 'fotos' ) ? null : 'não' , ' existe<br />';
echo is_writable( 'fotos' ) ? 'T' : 'Não t' , 'emos permissões de gravação em fotos<br />';
                        //$msg[] = "<b>$name :</b> Upload Realizado com Sucesso!";
                        
                        //****
                        $insert= "INSERT INTO postagem(imagem, titulo, preco, descricao) VALUES (:imagem,:titulo,:preco,:descricao)";    
         //****
         try{
             $result = $conexao-> prepare($insert);
             $result ->bindParam(':imagem',$novoNome, PDO::PARAM_STR);
             $result ->bindParam(':titulo',$titulo, PDO::PARAM_STR);
             $result ->bindParam(':preco',$preco, PDO::PARAM_STR);
             $result ->bindParam(':descricao',$descricao, PDO::PARAM_STR);
             $result -> execute();
             $contar = $result -> rowCount();
            
             if($contar > 0){                
                  echo '<div class="alert alert-success">
                      <button type="button" class="close" data-dismiss="alert">×</button>
                      <strong>ok!</strong> postado com sucesso!!
                  </div>';
                  
                 }else{
                     echo '<div class="alert alert-danger">
                      <button type="button" class="close" data-dismiss="alert">×</button>
                      <strong>erro!</strong> verifique os dados!!
                  </div>';                     
                     }
             }catch(PDOException $e){
                echo $e;
            
             }             
                            
                    }else
                        $msg[] = "<b>$name :</b> Desculpe! Ocorreu um erro...";
                
                }
                
                foreach($msg as $pop)
                echo '';
                    //echo $pop.'<br>';
            }}}
   ?>            
                        
                        <form id="edit-profile" class="form-horizontal" action="" method="post" enctype="multipart/form-data">                        
                                        
                        <div class="control-group">                                            
                            <label class="control-label" for="lastname">imagem</label>
                            <div class="controls">
                                <input type="file" class="span8" id="imagem" value="" name="img[]">
                            </div> <!-- /controls -->                
                        </div> <!-- /control-group -->
                            
                            
                         <div class="control-group">                                            
                         <label class="control-label" for="username">nome do produto</label>
                             <div class="controls">
                             <input type="text" class="span5 disabled" id="produto" value="" name="titulo">                  
                            </div> <!-- /controls --><br />    
                            
                            
                            <label class="control-label" for="username">preço</label>
                             <div class="controls">
                             <input type="text" class="span5 disabled" id="preco" value="" name="preco">                  
                            </div> <!-- /controls -->                    
                        </div> <!-- /control-group -->
                                       
                                        
                        <div class="control-group">                                            
                            <label class="control-label" for="email">descricão</label>
                            <div class="controls">
                                <textarea  class="span6"  value="" name="descricao" rows="10"></textarea>
                            </div> <!-- /controls -->                
                        </div> <!-- /control-group -->
                                        
                                        
                        <div class="control-group">                                            
                            <!--<label class="control-label" for="email">data</label>
                            <div class="controls">
                                <input type="text" class="span4" id="data" value=""name="data">
                        </div> <!-- /controls -->    
                        
                        <div class="form-actions">
                         <input type="submit"  class="btn btn-primary" value="enviar" name="cadastrar">
                         <input type="reset"  value="cancelar" >
                        </div> <!-- /form-actions -->            
                                    
                   </div>  
                
                    </form> 

   
             

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.