Ir para conteúdo

POWERED BY:

Arquivado

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

WAD - Soluções

Redimensionar Imagens no Upload

Recommended Posts

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 BD
if($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 BD
if($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
			 
        }
    }
}

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.