Redimensionar Imagens no Upload
Tenho um script, onde cadastro a noticias, porém nem todas noticias vão ter uma imagem de capa. Eu já consegui fazer ele fazer o renomear automático, tenho coloca função redimensionamento, porem não deu certo quando formulário não tem imagem como fazer isto.
1º Cadastra o conteúdo no BD. 2º Recupera o ID, do conteúdo criar uma pasta com número do ID. 3º Faz salva imagem na pasta corresponde. Código abaixo esta apenas com função para renomear imagem <?php
$variables=(strtolower($_SERVER['REQUEST_METHOD'])== 'GET')? $_GET: $_POST. foreach ($variables as $k=> $v)
$$k=$v. $palavra = "Culinaria(s)". $palavra2 = "Categorias". $tabela = "tb_culinaria". $tabela2 = $tabela."_cat". $file = "culinaria". ///Renome imagem$_FILES['imagem']['name'] = time().".jpg". // nome da foto
$imagem = $_FILES['imagem']['name']. // iniçio da acao INSERI NO BDif($acao== "insertbd"){ $data = "$ano-$mes-$dia $hora". $sql = "INSERT INTO $tabela VALUES ('', '$id_cat', '$prioridade', '$data', '$titulo', '$subtitulo', '$texto', '$creditos', '', '$legenda', '$fotos_extras', '1', 'S')". $sql2 = mysql_query($sql) or die( mysql_error() ). $id_recuperado = mysql_insert_id(). $dir = "../upload/$file/$id_recuperado". //echo "$dir". // inicia criação de pasta$pasta = @mkdir("$dir", 0777). @chmod("$dir", 0777). // Recupera os dados dos campos // fim da criação da pasta$uploaddir = "$dir/". if(is_dir("$dir")){
if($imagem!= "none") { if (@copy($_FILES['imagem']['tmp_name'], $uploaddir. $_FILES['imagem']['name'])) { $imagem1 = $_FILES['imagem']['name']. //echo "<strong>$foto1</strong> enviada com sucesso!<BR>". $var1 = mysql_query("update $tabela set imagem='$imagem1' where id='$id_recuperado'"). copy("../upload/$file/index.php","../upload/$file/$id_recuperado/index.php"). } }} else {
echo "<script>alert('O Diretório não existe!')</script>". } $mgs = "<b>$palavra</b> Inserido com Sucesso!". echo "<table border='0' align='center' cellpadding='0' cellspacing='0' style='border: 1px solid $corcelula1. '> <tr> <td width='400' bgcolor='$corcelula2' align='center' class='titulos'> $mgs</td> </tr>
</table>
<br>
". //echo "<meta http-equiv='refresh' content='2. URL=?pg=$file'>". }// fim da acao INSERI NO BD
// iniçio da acao UPDATE NO BD
if($acao== "updatebd"){ $_FILES['imagem']['name'] = time().".jpg". // nome da foto $imagem = $_FILES['imagem']['name']. if($nova_imagem == "S"){ $dir = "../upload/$file/$id/". //echo "$dir". $uploaddir = "$dir/". if($imagem!= "none") { if (@copy($_FILES['imagem']['tmp_name'], $uploaddir. $_FILES['imagem']['name'])) { $imagem1 = $_FILES['imagem']['name']. //echo "<strong>$imagem1</strong> enviada com sucesso!<BR>". } } @unlink("$dir/$imagem_antiga"). } else { $imagem1 = "$imagem_antiga". } $sql = "UPDATE $tabela SET id_cat='$id_cat', prioridade='$prioridade', data='$data3', titulo='$titulo', subtitulo='$subtitulo', texto='$texto', creditos='$creditos', imagem='$imagem1', legenda='$legenda', fotos_extras='$fotos_extras', visitas='$visitas', status='$status' WHERE id='$id'". //echo "$sql". $sql2 = mysql_query($sql) or die( mysql_error() ). $mgs = "<b>$palavra</b> Alterada com Sucesso!". echo "<table border='0' align='center' cellpadding='0' cellspacing='0' style='border: 1px solid $corcelula1. '> <tr> <td width='400' bgcolor='$corcelula2' align='center' class='titulos'> $mgs</td> </tr>
</table>
<br>
". //echo "<meta http-equiv='refresh' content='2. URL=?pg=$file'>". }
// fim da acao UPDATE NO BD // iniçio da acao STATUS NO BDif($acao == "status"){
$sql = "UPDATE $tabela SET status='$status' WHERE id='$id'". $sql2 = mysql_query($sql). $mgs = "Status Alterado com Sucesso!". echo "<table border='0' align='center' cellpadding='0' cellspacing='0' style='border: 1px solid $corcelula1. '> <tr> <td width='400' bgcolor='$corcelula2' align='center' class='titulos'> $mgs</td> </tr>
</table>
<br>
". //echo "<meta http-equiv='refresh' content='2. URL=?pg=$file'>". }// fim da acao STATUS NO BD // iniçio da acao EXCLUIR SELECIONADOS
if($acao == "excluir_selecionados"){ $listas = implode("|", $listas). // echo "$planos<hr>". $lista = explode("|", $listas). $total = count($lista). // echo $total. for($i=0. $i<$total. $i++){ $id_dados = $lista[$i]. $dados = mysql_fetch_array(mysql_query("SELECT * FROM $tabela WHERE id='$id_dados'")). $dir = "../upload/$file". @unlink("$dir/$dados[imagem]"). $sql = "delete from $tabela WHERE id='$lista[$i]'". $sql2 = mysql_query($sql). }
$mgs = "<b>$palavra </b>Excluída com Sucesso!". echo "<table border='0' align='center' cellpadding='0' cellspacing='0' style='border: 1px solid $corcelula1. '> <tr> <td width='400' bgcolor='$corcelula2' align='center' class='titulos'> $mgs</td> </tr>
</table>
<br>
". //echo "<meta http-equiv='refresh' content='2. URL=?pg=$file'>". }// fim da acao EXCLUIR SELECIONADOS // iniçio da acao FORM DE CADASTRO E ALTERAR
//if($acao== "FORM"){
$id = $_REQUEST[id]. $form1 = "FORMULARIO". $sql=mysql_query("SELECT * FROM $tabela WHERE id='$id'"). $dados=mysql_fetch_array($sql).?>Função Redimensionar. $tamanho = 1000000. // tamanho da foto em bytes (300000 igual a 300Kb)
$imagem = $_FILES['imagem']['name']. $tamanhoImg = 400. // tamanho da imagem normal
$tamanhoThumb = 186. // tamanho da thumb
$dir = "../upload/agendas/". // troque aqui, conforme seu servidor
$dirThumb = "../upload/agendas/thumbs/". // troque aqui conforme seu servidor
function criarImg($imagem, $dir, $tamanho) { list($width, $height) = getimagesize($dir.$imagem). // pegando a altura e largura da foto enviada
# header('Content-type: image/jpeg'). if ($width > $height){ // calculo pra diminuir foto $newwidth = $tamanho. $newheight = ($height * $tamanho)/$width. }else{ $newheight = $tamanho. $newwidth = ($width * $tamanho)/$height. } // fazendo a nova foto $novaFoto = imagecreatetruecolor($newwidth, $newheight). $source = imagecreatefromjpeg($dir.$imagem). imagecopyresized($novaFoto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height). imagejpeg($novaFoto,$dir.$imagem,100). // qualidade da imagem DEFAULT 80 unset($imagem, $dir, $tamanho, $source, $novaFoto, $newwidth, $newheight, $width, $height). } if($_FILES['imagem']['size'] < $tamanho){ // verificando tamanho if($_FILES['imagem']['type'] == "image/jpeg"){ // verificando o tipo de arquivo if(move_uploaded_file($_FILES['imagem']['tmp_name'], $dir.$imagem)){ copy($dir.$imagem, $dirThumb.$imagem). criarImg($imagem, $dir, $tamanhoImg). // salvando img criarImg($imagem, $dirThumb, $tamanhoThumb). // salvando thumb } }
}Discussão (0)
Carregando comentários...