redimensionamento de imagens
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>Discussão (0)
Carregando comentários...