Jump to content
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");
	}
   
?>

 

Share this post


Link to post
Share on other 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.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.