nandosgp 0 Denunciar post Postado Fevereiro 16, 2017 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