Ir para conteúdo
Antonio Lisboa

Adicionar foto do no banco mysql/php redimensionada para o tamanho 300px x 300px e renomear com o numero do cpf digiado input ex: 000.111.222-33.jpg

Recommended Posts

pessoal que puder me ajudar fico agradecido, pois nao sou programador, apenas tento aprender porem devido ja a idade e a mente cheia, tenho uma certa dificuldade, estou a 2 dias tentando e testando varias situações sem exito, sei que é coisa simples para quem sabe, porem para pessoas como eu é muito difícil, agradeço a caridade do conhecimento daqueles que poderem me ajudar.

 

esse é o codigo, esta tudo funcionando, só nao o envio de foto

 

<?php require_once('../../connect/conexao.php') ?>
<?php 
$foto = $_POST['foto']; // fazer upload da foto como redimensionamento 300px x 300px arquivo jpg/png´para pasta upload renomeado como no nr do cpf
$nome = $_POST['nome'];
$apelido = $_POST['apelido'];
$cpf = $_POST['cpf'];   // esse numero será usado para renomear a foto tipo: 888.777.000-11.jpg ou .png
$ema = $_POST['email']; // 
$tel = $_POST['telefone'];
$cel = $_POST['celular'];
$cep = $_POST['cep'];
$end = $_POST['endereco'];
$numero = $_POST['numero'];
$b = $_POST['bairro'];
$m = $_POST['municipio'];
$uf = $_POST['uf'];
$dia = $_POST['dia'];
$mes = $_POST['mes'];
$ano = $_POST['ano'];
$sen = md5($_POST['senha']);


	$sqlc = "INSERT INTO cliente (foto, nome, apelido, cpf, email, telefone, celular, cep, endereco, numero, bairro, municipio, uf, dia, mes, ano, senha) VALUES ('".$foto."', '".$nome."', '".$apelido."', '".$cpf."', '".$ema."', '".$tel."', '".$cel."', '".$cep."',  '".$end."',  '".$numero."', '".$b."', '".$m."',  '".$uf."', '".$dia."', '".$mes."', '".$ano."', '".$sen."')";
	if($sql->query($sqlc) == true){
		header("location:../../login.php?cad=ok");
	}else{
		header("location:../../cadastro.php?erro=cad");
	}
   
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fácil é! E também não é, porque depende do resultado final.

 

Para fazer o upload, no geral você tem obter o arquivo através da super global $_FILES

Então mover esse arquivo para um local específico.

 

Para alterar as dimensões no caso 300pixels. Você ao invés de mover o arquivo cria uma cópia com a função: imagecopyresampled.

Para alterar o nome e salvar você uma das funções abaixo dependendo do formato final que você deseja salvando a cópia criada com a função anterior:

Veja essa classe para upload de imagem (só que ela só aceita imagens jpeg e png):

https://github.com/Spell-Master/sm-web/blob/master/exemplos/corte-e-salvamento-de-imagens/ImageUpload.php

<?php
require ('ImageUpload.php');
$upload = new ImageUpload();
$imageName = 'O nome que a imagem deve ter';
$tamanho = 300; // Se for maior que 300 de altura ou largura redimenciona para 300 mantendo o aspecto
$upload->sendImage($_FILES['arquivo'], $imageName, $tamanho);

No caso o $_FILES['arquivo'] irá buscar pelo valor de:

<input type="file" name="arquivo" accept=".jpg,.jpeg,.png" />

 

Lógico que esse meu caso não estou verificando a naturalidade do arquivo enviado, se é uma imagem e se não é algo disfarçado de imagem.

 

 

Você pode também está usando o javascript para ler a imagem na máquina do usuário, então recriar-la através de um elemento <canvas> então resgatar compilar-la em base64 e adicionar a string em uma <textarea> oculta. Quando submeter o formulário no backend você obtêm a string da textarea e com essa string criar uma imagem.

A vantagem dessa segunda alternativa apesar de mais complexa é a praticidade para o usuário pois ele de fato não precisará fazer um upload.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.