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: 149

reduzir resolução foto - bytes para upload

21-04-2010 18:57

Não encontrei nada concreto. É possível diminuir em um upload de imagem, a rezolução da imagem? As dimenssões eu sei que dá. Mas é a rezolução?
Tipo quando eu faço o upload de uma imagem feita com uam câmera normal por exemplo. A imagem vai ter uns, 2.5 megas + ou -, então queria deixá-la com a rezoluação ideal para o site.
É possível. Me dão uma dica de pesquisa, pois não encontrei nada de fácil entendimento.
Valeu.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

reduzir resolução foto - bytes para upload

21-04-2010 20:09

Já ouvi falar de programa que serve para reduzir a resolução ou peso da foto, não script.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

reduzir resolução foto - bytes para upload

22-04-2010 18:13

O parceiro, seguinte.
Consegui fazer o que eu queria. Pele menos está funcionando legal. hehe...

Queria ver se podes me ajudar a transformar isso tudo em uma função, e também a forma depois de como rodar esta função. Pois quero usar ela no INSERT e no UPDATE.

$arquivo = $_FILES['txt_arquivo']; $nome = $arquivo['name']; $imagem = $arquivo['tmp_name']; $md5 = md5(uniqid(rand())); $extensoes_validas = array('.jpg','.JPG','.jpge','.JPEG','.gif', '.GIF','.png', '.PNG'); set_time_limit(0); $extensao = strrchr($nome,'.'); echo $extensao; if(!in_array($extensao,$extensoes_validas)){ echo "<script>alert('Arquivo Não suportado');</script>"; echo("<script>history.back();</script>"); exit();} $img = imagecreatefromjpeg($imagem); $largura_original_x = imagesx($img); $altura_original_y = imagesy($img); if($largura_original_x > $altura_original_y){ $largura_nova = 200; $altura_nova = ($altura_original_y * $largura_nova) / $largura_original_x; } if($largura_original_x < $altura_original_y){ $altura_nova = 200; $largura_nova = ($largura_original_x * $altura_nova) / $altura_original_y; } $nova_imagem = imagecreatetruecolor($largura_nova,$altura_nova); imagecopyresampled($nova_imagem,$img,0,0,0,0,$largura_nova,$altura_nova, $largura_original_x,$altura_original_y); imagejpeg($nova_imagem,"imagens/$md5-$nome",95); imagedestroy($img); imagedestroy($nova_imagem); //Esta parte abaixo é para o inserte no banco de dados. $txt_arquivo = "$md5-$nome";

Isso está me resultando o seguinte:
Mando a foto, se ela não corresponde as extensões especificadas e retorna erro. Se corresponde ela redimenciona a imagem conforme o tipo. Se imagem RETRATO (me dá uma altura nova fixa de 200 e uma largura proporcional) se PAISAGEM (largura fixa de 200 e altura proporcional) e manda para a pasta imagens com um novo criado pelo uniqid.
No final eu digo que o txt_arquivo = md5. Pois no meu insert a foto(campo da tabela no banco) recebe txt_arquivo - então foto values txt_arquivo
$sql = "INSERT INTO produtos (id_categoria, id_subcategoria, produto,[b] foto[/b], codigo, unidade, tipoembalagem, descricao, preco, estado, destaque, lancamento) VALUES ('$txt_idcategoria', '$txt_idsubcategoria', '$txt_produto', [b]'$txt_arquivo'[/b], '$txt_codigo', '$txt_unidade', '$txt_tipoembalagem', '$txt_descricao', '$txt_preco', '$txt_estado', '$txt_destaque', '$txt_lancamento')";

É isso. Se puderes me ajudar a fazer disso uma função, fico grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

reduzir resolução foto - bytes para upload

22-04-2010 18:33

Vou te explicar sobre o uso de uma função PHP.

A função é quase a mesma coisa que um bloco de scripts qualquer, as diferenças são:

- pode chamar a função dentro de um if por exemplo, sem repetir todo o código;
- pode chamar a função, e passar um valor para ela, para que retorne um texto configurado;
Entre outros.

Deixo esse link para você se basear
http://www.codigosnaweb.com/forum/Crian ... 5_472.html

No seu caso, você verifica se há a necessidade de passar algum valor, ai você coloca seu script como função, e chama ela, como está mostrado no link acima.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

reduzir resolução foto - bytes para upload

22-04-2010 20:23

Beleza.
Vou ver se consigo aqui.
Por enquanto para não ficar muito grande eu coloquei esse código em outro arquivo e busco ele com o include onde quero usá-lo.

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

reduzir resolução foto - bytes para upload

22-04-2010 20:43

Flw
0
A melhor hospedagem para o seu site HostGator!

Quem está online

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