Ir para conteúdo
Fórum Script Brasil
  • 0

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


Antônio Lisboa

Pergunta

pessoal que puder me ajudar fico agradecido, pois não sou programador, apenas tento aprender porem devido já 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ó não 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");
	}
   
?>

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Esse é bem difícil. Eu consegui resolver apenas 25% do problema, o de nomear o arquivo de imagem com o CPF. O meu programa não informa quando há problema na hora de criar uma imagem com um cpf já cadastrado. Mesmo assim, deixo o código. Ele é meia boca, e precisa ser corrigido.

astudy.php
--------------------------------

<style>
div {width:500px;height:500px;display: inline-block}
#div1 {position:fixed;}
#div2 {position:fixed;left:40%}
</style>
<script>
function verfoto(){
	input = document.getElementById("foto")
	fReader = new FileReader()
	fReader.readAsDataURL(input.files[0])
	fReader.onloadend = function(event){
		img = document.getElementById("fotocliente")
		img.src = event.target.result
		inpfoto.value=foto.value}}
</script>
<div id=div1>
	<form enctype="multipart/form-data" method=post>
	<input type=file id=foto name=foto onchange=verfoto()>
	<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
	<p>Nome da foto <input id=inpfoto  size=30>
	<p>CPF 000.111.222-33
	<p><input type=submit value=Confirmar>
	</form>
</div>
<div id=div2>
foto:
<img id=fotocliente width=150px heith=150px></img>
</div>
<?php
$cpf="000.111.222-33";
if(isset($_FILES['foto']) && $_FILES['foto']['size'] > 0):  
	$extensoes_aceitas = array('bmp' ,'png', 'svg', 'jpeg', 'jpg');
	$tmp=explode('.', $_FILES['foto']['name']);
	$extensao = strtolower(end($tmp));
	// Validamos se a extensão do arquivo é aceita
	if (array_search($extensao, $extensoes_aceitas) === false):
		echo "<script>div1.innerHTML='<h1>Extensão Inválida!</h1>'</script>";
		exit;
	endif;
	// Verifica se o upload foi enviado via POST   
	if(is_uploaded_file($_FILES['foto']['tmp_name'])):  
		// Verifica se o diretório de destino existe, senão existir cria o diretório  
		if(!file_exists("fotos")):  
			mkdir("fotos");  
		endif;  
		// Monta o caminho de destino com o nome do arquivo  
		$path = $_FILES['foto']['name'];
		$ext = pathinfo($path, PATHINFO_EXTENSION);
		$nome_foto = $cpf . '_.' . $ext;  
		// Essa função move_uploaded_file() copia e verifica se o arquivo enviado foi copiado com sucesso para o destino  
		if (move_uploaded_file($_FILES['foto']['tmp_name'], 'fotos/'.$nome_foto)):  
			echo "<script>div1.innerHTML='Arquivo salvo ou atualizado na pasta de destino!'</script>";  
		endif;  
	endif;  
endif;
?>

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

  • 0

Quanto a adicionar imagem no banco de dados, eu recomendo a leitura dessa matéria:

sql - É errado gravar byte de imagens no banco de dados? - Stack Overflow em Português

Eu tentei fazer isso há muito tempo, quando trabalhava com o MS Access, o resultado foi um grande desastre.

Claro que um texto sozinho vale pouco. Para corroborar os meus textos eu tenho uma pasta chamada Arquivo Morto, hospedado no OneDrive da Microsoft. Eles estão no formato PDF, e eles ocupam mais ou menos 500 kb, o mesmo espaço ocupado por uma imagem de boa definição.

Bem que eu queria gravar o caminho desses arquivos no MySQL, mas até agora o PHP só é capaz de enxergar as pastas que são administrados pelo WampServer. Não sei como turbinar o PHP para olhar além da fronteira do WampServer. Logo, faz sentido querer armazenar imagens dentro do banco de dados. O problema é que isso é pouco prático e vai comprometer o tempo de resposta de outros serviços.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...