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


Moderador: web

 
Avatar do usuário
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 10
Sexo: Feminino

Upload foto salvando em duas pastas diferentes

13-06-2015 13:18

Boa Tarde!

Gostaria de uma ajudinha, Nesse código abaixo a imagem salva na pasta ../uploads/.
Queria acrescentar um outro caminho utilizando a mesma foto com o seu mesmo nome, reduzindo o seu tamanho (altura e largura específica) e salvando em outra pasta chamada ../uploads/thumbnail/

<?php // Flag que indica se há erro ou não $erro = null; // Quando enviado o formulário if (isset($_FILES['arquivo'])) { // Configurações $extensoes = array(".doc", ".txt", ".pdf", ".png", ".jpg"); $caminho = "../uploads/"; // Recuperando informações do arquivo $nome = $_FILES['arquivo']['name']; $temp = $_FILES['arquivo']['tmp_name']; // Verifica se a extensão é permitida if (!in_array(strtolower(strrchr($nome, ".")), $extensoes)) { $erro = 'Extensão inválida'; } // Se não houver erro if (!$erro) { // Gerando um nome aleatório para a imagem $nomeAleatorio = md5(uniqid(time())) . strrchr($nome, "."); // Movendo arquivo para servidor if (!move_uploaded_file($temp, $caminho . $nomeAleatorio) ) $erro = 'Não foi possível anexar o arquivo'; } } ?>

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

Re: Upload foto salvando em duas pastas diferentes

13-06-2015 16:23

Testa o seguinte código:

São duas pastas, thumb/ para miniatura e uploads/ para tamanho padrão enviado.

Nas linhas abaixo você altera a largura do thumb. Onde 856 é a largura e 482 a altura.

$thumb1 = imagecreatetruecolor(856,482); imagecopyresampled($thumb1, $img1 , 0 , 0 , 0 , 0 , 856 , 482, imagesX( $img1 ) , imagesY( $img1 ));

Se for fazer como falou, colocar uma pasta dentro de outra, não esqueça de dar permissão "CHMOD" 777 em ambas as pastas e definir o caminho das pastas nas linhas do script:

$pasta1 = "thumb/"; // MINIATURA $pasta2 = "uploads/"; // NORMAL


<?php // Flag que indica se há erro ou não $erro = null; // Quando enviado o formulário if (isset($_FILES['arquivo'])) { // Configurações $extensoes = array(".doc", ".txt", ".pdf", ".png", ".jpg"); $caminho = "uploads/"; // Recuperando informações do arquivo $nome = $_FILES['arquivo']['name']; $temp = $_FILES['arquivo']['tmp_name']; // Verifica se a extensão é permitida if (!in_array(strtolower(strrchr($nome, ".")), $extensoes)) { $erro = 'Extensão inválida'; } // Se não houver erro if (!$erro) { $pasta1 = "thumb/"; // MINIATURA $pasta2 = "uploads/"; // NORMAL $arquivo1 = $pasta1.$_FILES['arquivo']['name']; $nomeAleatorio = md5(uniqid(time())) . strrchr($nome, "."); if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $arquivo1)) { $imagem1 = $arquivo1; // MINIATURA $caminho1 = $pasta1.$nomeAleatorio; $img1 = imagecreatefromjpeg($imagem1); $thumb1 = imagecreatetruecolor(856,482); imagecopyresampled($thumb1, $img1 , 0 , 0 , 0 , 0 , 856 , 482, imagesX( $img1 ) , imagesY( $img1 )); imagejpeg($thumb1, $caminho1, 100); // MINIATURA // NORMAL $caminho2 = $pasta2.$nomeAleatorio; $img2 = imagecreatefromjpeg($imagem1); $tamanho = getimagesize($arquivo1); $thumb2 = imagecreatetruecolor($tamanho[0],$tamanho[1]); imagecopyresampled($thumb2, $img2 , 0 , 0 , 0 , 0 , $tamanho[0] , $tamanho[1], imagesX( $img2 ) , imagesY( $img2 )); imagejpeg($thumb2, $caminho2, 100); // NORMAL unlink($arquivo1); } } } ?>

1
A melhor hospedagem para o seu site HostGator!
 
Avatar do usuário
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 10
Sexo: Feminino

Re: Upload foto salvando em duas pastas diferentes

18-06-2015 11:31

Web, Obrigada pela sua ajuda. Me salvou de novo.

Tenho mais uma dúvida. Na foto normal será que tem como defini uma largura de 798 e redimensionar altura de acordo com a proporção da largura ?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17562
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Upload foto salvando em duas pastas diferentes

18-06-2015 11:47

Eu encontrei uma fórmula que acho que vai servir nesse script, fica assim:

$largura = $tamanho[0]; $altura = $tamanho[1]; $largura_desejada = 798; $escala = $largura_desejada/$largura; $altura_proporcional = $altura * $escala; echo (int)$altura_proporcional;

Esse trecho acima você vai colocar após a linha:

$tamanho = getimagesize($arquivo1);

No bloco, você vai usar a largura que decidiu, no caso $largura_desejada e na parte da altura vai usar o (int)$altura_proporcional
1
A melhor hospedagem para o seu site HostGator!
 
Avatar do usuário
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 10
Sexo: Feminino

Re: Upload foto salvando em duas pastas diferentes

18-06-2015 12:05

Obrigada web. Funcionou direitinho.
0

Quem está online

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