Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Redirecionamento de imagem - UPLOAD

05-11-2012 17:23

Boa tarde!

Estou com um codigo em PHP que faz upload e grava os dados no Banco de dados MYSQL

Está tudo funcionando, direitinho.

Mas preciso redimencionar o tamanho da imagem na hora do upload e não sei como começar isso.

Todos os codigos que achei na net, são codigos prontos mas com o metodo de upload de cada um deles.

Eu apenas queria inserir a função de redimensionar a imagem no meu codigo.

Este é o campo que pega o arquivo:
<input name="foto_produto" type="file" class="form" id="foto_produto">

Segue meu codigo:

<? session_start(); if (empty($_SESSION['usuario_id'])) { echo "Acesso negado!"; exit; }else{ include('config/conexao.php'); $usuario_id = $_SESSION['usuario_id']; $usuario_nome = $_SESSION['usuario_nome']; } ?> <? // PEGA OS DADOS DO USUÁRIO $query = "SELECT * FROM tbl_usuarios where id = '$usuario_id'"; $resultado = mysql_query ($query); $campo = mysql_fetch_array ($resultado); $usuario_nome = $campo ['nome']; ?> <? function trocar_acentos ($foto_produto) { $foto_produto = str_replace(' ','-',$foto_produto); $foto_produto = str_replace('á','a',$foto_produto); $foto_produto = str_replace('ã','a',$foto_produto); $foto_produto = str_replace('Ã','a',$foto_produto); $foto_produto = str_replace('Á','a',$foto_produto); $foto_produto = str_replace('é','e',$foto_produto); $foto_produto = str_replace('É','e',$foto_produto); $foto_produto = str_replace('ç','c',$foto_produto); $foto_produto = str_replace('Ç','c',$foto_produto); $foto_produto = str_replace('í','i',$foto_produto); $foto_produto = str_replace('Í','i',$foto_produto); $foto_produto = str_replace('ó','o',$foto_produto); $foto_produto = str_replace('Ó','o',$foto_produto); $foto_produto = str_replace('ú','u',$foto_produto); $foto_produto = str_replace('Ú','u',$foto_produto); $foto_produto = strtolower($foto_produto); return $foto_produto; } $foto_produto = trocar_acentos ($_FILES['foto_produto']['name']); $foto_produto_extensao = substr($foto_produto,strpos($foto_produto,'.')+1,strlen($foto_produto)-strpos($foto_produto,'.')); $foto_produto_tamanho = $_FILES['foto_produto']['size']; $foto_produto_descricao = $_POST['foto_produto_descricao']; $foto_produto_data = date('d/m/Y'); $uploaddir = "../fotos/produtos/"; $data = mktime(); if ($foto_produto != ""){ if (file_exists($uploaddir.$foto_produto)) { $foto_produto = mktime()."_".$foto_produto; move_uploaded_file($_FILES['foto_produto']['tmp_name'], $uploaddir . $foto_produto); } } $categoria = $_POST['categoria']; $nome_produto = $_POST['nome_produto']; $sub_categoria = $_POST['sub_categoria']; $valor = $_POST['valor']; $descricao = $_POST['descricao']; $status = $_POST['status']; $query = "insert into tbl_produtos (categoria, nome_produto, foto_produto, sub_categoria, valor, descricao, status) values ('$categoria', '$nome_produto', '$foto_produto', '$sub_categoria', '$valor', '$descricao', '$status')"; $rs= mysql_query($query); ?> <script language="JavaScript" TYPE="text/javascript"> alert ("AVISO!\nProduto cadastrado com sucesso!")</SCRIPT> <script language="JavaScript">window.location.href="produtos_listar.php";</SCRIPT>

Muito obrigado desde já!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Redirecionamento de imagem - UPLOAD

05-11-2012 18:16

Eu postei esse código que precisa para redimensionar a imagem nesse post criar-miniatura-de-foto-vinda-por-upload_1_1557.html
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Redirecionamento de imagem - UPLOAD

05-11-2012 18:20

Opa! valeu!

Mas onde eu coloco este codigo? no meu arquivo php que faz o upload e grava os dados no BD?

Outra coisa, o que eele faz exatamente?

Pega o arquivo que esta sendo enviado e diminui? depois deleta o que foi enviado maior?

Vlw
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Redirecionamento de imagem - UPLOAD

05-11-2012 18:27

Você tem que testar o script. Ele diminui a foto e apaga a original.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Redirecionamento de imagem - UPLOAD

05-11-2012 18:32

Blz, vou testar amanha e te aviso!

Vlw abraço
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Redirecionamento de imagem - UPLOAD

05-11-2012 19:41

;)
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Redirecionamento de imagem - UPLOAD

06-11-2012 15:01

Fala Web,

Estou passando pra agradecer e dizer que deu certo aquele codigo que você me passou.

Adaptei varias coisas do meu codigo nele, como aquela função trocar acento e se caso ja existir a imagem no servidor adicionar o tempo no nome e "uploadear" com outro nome.

O detalhe que está me matando, é que se for um arquivo de outra extensão que não seja JPG não vai, mudei uma parte que está assim no seu:

$mini_nome = $quebra[0]."_mini.jpg";

criei uma variavel "$extensão" para pegar a extensão do arquivo mas nao esta funcionando.

o meu codigo ficou assim:

<? function trocar_acentos ($uploadfile) { $uploadfile = str_replace(' ','-',$uploadfile); $uploadfile = str_replace('á','a',$uploadfile); $uploadfile = str_replace('ã','a',$uploadfile); $uploadfile = str_replace('Ã','a',$uploadfile); $uploadfile = str_replace('Á','a',$uploadfile); $uploadfile = str_replace('é','e',$uploadfile); $uploadfile = str_replace('É','e',$uploadfile); $uploadfile = str_replace('ç','c',$uploadfile); $uploadfile = str_replace('Ç','c',$uploadfile); $uploadfile = str_replace('í','i',$uploadfile); $uploadfile = str_replace('Í','i',$uploadfile); $uploadfile = str_replace('ó','o',$uploadfile); $uploadfile = str_replace('Ó','o',$uploadfile); $uploadfile = str_replace('ú','u',$uploadfile); $uploadfile = str_replace('Ú','u',$uploadfile); $uploadfile = strtolower($uploadfile); return $uploadfile; } // pasta onde o thumbnail será armazenado $uploaddir = "../fotos/produtos/"; // com a barra no final $uploadfile = trocar_acentos ($uploaddir.$_FILES['foto_produto']['name']); if(@move_uploaded_file($_FILES['foto_produto']['tmp_name'], $uploadfile)) { $imagemC = $uploadfile; $imagemN = $_FILES['foto_produto']['name']; $quebra = explode(".",$imagemN); $extensao = substr($_FILES['foto_produto']['name'],strpos($_FILES['foto_produto']['name'],'.')+1,strlen($_FILES['foto_produto']['name'])-strpos($_FILES['foto_produto']['name'],'.')); $mini_nome = trocar_acentos ($quebra[0]."_mini.$extensao"); $mini_nome_data = date('d/m/Y'); $data = mktime(); if ($mini_nome != ""){ if (file_exists($uploaddir.$mini_nome)) { $mini_nome = mktime()."_".$mini_nome; } } // use a variável $caminho para salvar no bd $caminho = trocar_acentos ($uploaddir.$mini_nome); $img = @imagecreatefromjpeg($imagemC); $thumb = @imagecreatetruecolor(300,300); // 100, 100 é o tamanho do thumbnail @imagecopyresampled($thumb, $img , 0 , 0 , 0 , 0 , 300 , 300, imagesX( $img ) , imagesY( $img )); @imagejpeg($thumb, $caminho); unlink($uploadfile); echo "Foto enviada."; } $categoria = $_POST['categoria']; $nome_produto = $_POST['nome_produto']; $sub_categoria = $_POST['sub_categoria']; $valor = $_POST['valor']; $descricao = $_POST['descricao']; $status = $_POST['status']; $query = "insert into tbl_produtos (categoria, nome_produto, foto_produto, sub_categoria, valor, descricao, status) values ('$categoria', '$nome_produto', '$mini_nome', '$sub_categoria', '$valor', '$descricao', '$status')"; $rs= mysql_query($query); ?>

Mas muito obrigado, ja me ajudou bastante, por enquanto falta arrumar essa parte da extensão, depois tenho outra duvida sobre tamanho!

Vlw abs!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Redirecionamento de imagem - UPLOAD

06-11-2012 15:28

Para pegar a extensão, o modo mais simples, é explodir a imagem pelo .

$ext = explode(".", $suaimagem); echo $ext[1];

Cria ai a condicional de acordo com a extensão.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Redirecionamento de imagem - UPLOAD

06-11-2012 15:38

Mas já tem um "explode" no codigo que vc passou, sera que ele nao esta fazendo isso ja?

eu quero pegar a extensão da imagem pra renomear tmb

$quebra = explode(".",$imagemN);

0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Redirecionamento de imagem - UPLOAD

06-11-2012 16:02

Deu certo, está pegando a extensão.

Só que engraçado que se faço .jpg ta tudo bem, agora se faço .png ele da um erro no apache, sabe o que pode ser?

O codigo ficou assim:

// pasta onde o thumbnail será armazenado $uploaddir = "../fotos/produtos/"; // com a barra no final $uploadfile = trocar_acentos ($uploaddir.$_FILES['foto_produto']['name']); if(@move_uploaded_file($_FILES['foto_produto']['tmp_name'], $uploadfile)) { $imagemC = $uploadfile; $imagemN = $_FILES['foto_produto']['name']; $ext = $_FILES['foto_produto']['name']; $mini_nome = trocar_acentos ("imagem-".$ext); $mini_nome_data = date('d/m/Y'); $data = mktime(); if ($mini_nome != ""){ if (file_exists($uploaddir.$mini_nome)) { $mini_nome = mktime()."_".$mini_nome; } } // use a variável $caminho para salvar no bd $caminho = trocar_acentos ($uploaddir.$mini_nome); $img = @imagecreatefromjpeg($imagemC); $thumb = @imagecreatetruecolor(300,300); // 100, 100 é o tamanho do thumbnail @imagecopyresampled($thumb, $img , 0 , 0 , 0 , 0 , 300 , 300, imagesX( $img ) , imagesY( $img )); @imagejpeg($thumb, $caminho); unlink($uploadfile); echo "Foto enviada."; }

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Redirecionamento de imagem - UPLOAD

06-11-2012 16:45

Tem uma regra para cada tipo de formato. Veja nesse post cria-thumb-das-imagens_1_858.html

Tem um if para cada tipo de imagem. Tem que usar ele.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Redirecionamento de imagem - UPLOAD

06-11-2012 16:49

hummm entendi

vou me matar testando aqui e já te aviso hehe

vlw!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Redirecionamento de imagem - UPLOAD

06-11-2012 16:54

;)
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Redirecionamento de imagem - UPLOAD

06-11-2012 17:26

Aeeee!!!!

Mais um resolvido rs!

Deu tudo certinho Web, vlw!

Vou aproveitar que vi uma parte nesse codigo que redimensiona proporcional, e vou testar.

Preciso que as imagens mantenham as proporções na hora do upload

Se for maior que 600 redimensiona para 600 x valor que der e se for menor não redimencionar sabe!

Mas vou testando aqui qq coisa eu grito!

Obrigado mais uma vez!

Abs
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 268
Sexo: Masculino

Redirecionamento de imagem - UPLOAD

06-11-2012 17:37

Deu certo, ja tinha naquele codigo!

Vlw parceiro, por mais uma ajuda(s)! rs

Abs
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Redirecionamento de imagem - UPLOAD

06-11-2012 18:49

Boa.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado