Jump to content
Fórum Script Brasil
  • 0

Upload de foto


Clayton Souza

Question

Olá rapaziada,

É o seguinte, eu tenho um formulário em php que envia para o meu email as informações solicitadas, ou seja, este procedimento é feito sem utilizar um banco de dados para facilitar a minha vida, já que sou iniciante em PHP.

O problema agora é que eu preciso que os usuários enviem uma foto junto com as informações digitadas no formulário, que a foto seja impressa junto com essas informações, tipo um currículo, e sejam enviadas para meu email sem a necessidade de um banco de dados, é possível?

O formulário é simples em html com validação em javascript.

Segue abaixo o código em PHP que executa o action do form:

<?php
$date = date("d/m/Y h:i");
$ipaddress = $_SERVER['REMOTE_ADDR'];

// ****** ATENÇÃO ********
// ABAIXO ESTÁ A CONFIGURAÇÃO DO SEU FORMULÁRIO.
// ****** ATENÇÃO ********

 // Aqui você informa o formato e o charset do e-mail 
 $headers  = "MIME-Version: 1.0\n"; 
 $headers .= "Content-type: text/html; charset=iso-8859-1\n";


// RECEBE OS VALORES VINDO DO FORMULÁRIO E ATRIBUI AS VARIÁVEIS
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$cpf = $_POST['cpf'];
$rg = $_POST['rg'];
$endereco = $_POST['endereco'];
$numero = $_POST['numero'];
$complemento = $_POST['complemento'];
$bairro = $_POST['bairro'];
$estados = $_POST['estados'];
$cidade = $_POST['cidade'];
$cep = $_POST['cep'];
$formac = $_POST['formac'];
$formpro = $_POST['formpro'];
$ultemp = $_POST['ultemp'];
$periodo = $_POST['periodo'];
$ultsal = $_POST['ultsal'];
$atividades = $_POST['atividades'];
$comosoube = $_POST['comosoube'];

//CABEÇALHO - ONFIGURAÇÕES SOBRE SEUS DADOS E SEU WEBSITE
$nome_do_site="teste";
$email_para_onde_vai_a_mensagem = "teste@teste.com.br";
$nome_de_quem_recebe_a_mensagem = "Fulano";
$exibir_apos_enviar='../enviado.php';

//MAIS - CONFIGURAÇOES DA MENSAGEM ORIGINAL
$cabecalho_da_mensagem_original="From: $nome <$email>\n";
$assunto_da_mensagem_original="Currículo de $nome";

// FORMA COMO RECEBERÁ O E-MAIL (FORMULÁRIO)
// ******** OBS: SE FOR ADICIONAR NOVOS CAMPOS, ADICIONE OS CAMPOS NA VARIÁVEL ABAIXO *************

$configuracao_da_mensagem_original="

TESTE\n\n 

Nome: $nome\n
Telefone: $telefone\n
CPF: $cpf\n
RG: $rg\n
Email: $email\n\n

Endereço: $endereco\n
Número: $numero, Complemento: $complemento, Bairro: $bairro, Cidade: $cidade, Estado: $estados\n
CEP: $cep\n\n

Formação acadêmica:\n 
$formac\n\n

Formação profissional:\n 
$formpro\n\n

Último emprego: $ultemp\n
Período: $periodo\n
Último salário: $ultsal\n\n

Atividades exercidas:\n 
$atividades\n\n

Como soube de nós? $comosoube\n
Enviado através do ip: $ipaddress\n
EM: $date

";


//CONFIGURAÇÕES DA MENSAGEM DE RESPOSTA
// CASO $assunto_digitado_pelo_usuario="s" ESSA VARIAVEL RECEBERA AUTOMATICAMENTE A CONFIGURACAO
// "Re: $assunto"
$assunto_da_mensagem_de_resposta = "Confirmação";
$cabecalho_da_mensagem_de_resposta = "From: $nome_do_site <$email_para_onde_vai_a_mensagem>\n";
$configuracao_da_mensagem_de_resposta="Obrigado por enviar seu currículo!\nEle foi cadastrado com sucesso.\nAtenciosamente,\n$nome_do_site\n\nEnviado em: $date";

// ****** IMPORTANTE ********
// A PARTIR DE AGORA RECOMENDA-SE QUE NÃO ALTERE O SCRIPT PARA QUE O  SISTEMA FINCIONE CORRETAMENTE
// ****** IMPORTANTE ********

//ESSA VARIAVEL DEFINE SE É O USUARIO QUEM DIGITA O ASSUNTO OU SE DEVE ASSUMIR O ASSUNTO DEFINIDO
//POR VOCÊ CASO O USUARIO DEFINA O ASSUNTO PONHA "s" NO LUGAR DE "n" E CRIE O CAMPO DE NOME
//'assunto' NO FORMULARIO DE ENVIO
$assunto_digitado_pelo_usuario="n";

//ENVIO DA MENSAGEM ORIGINAL
$headers = "$cabecalho_da_mensagem_original";
if ($assunto_digitado_pelo_usuario=="n")
{
$assunto = "$assunto_da_mensagem_original";
};
$seuemail = "$email_para_onde_vai_a_mensagem";
$mensagem = "$configuracao_da_mensagem_original";
mail($seuemail,$assunto,$mensagem,$headers);

//ENVIO DE MENSAGEM DE RESPOSTA AUTOMATICA
$headers = "$cabecalho_da_mensagem_de_resposta";
if ($assunto_digitado_pelo_usuario=="n")
{
$assunto = "$assunto_da_mensagem_de_resposta";
}
else
{
$assunto = "Re: $assunto";
};
$mensagem = "$configuracao_da_mensagem_de_resposta";
mail($email,$assunto,$mensagem,$headers);

echo "&lt;script>window.location='$exibir_apos_enviar'</script>";

?>

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Faltou uma coisa: no <FORM> da página que envia as informações, tem que colocar enctype="multipart/form-data"

Para pegar a imagem que foi enviada no formulário:

$_FILES['arquivo']['tmp_name'] -> Pega o "conteúdo" do arquivo

$_FILES['arquivo']['name'] -> Pega o nome do arquivo

Link to comment
Share on other sites

  • 0
Faltou uma coisa: no <FORM> da página que envia as informações, tem que colocar enctype="multipart/form-data"

Para pegar a imagem que foi enviada no formulário:

$_FILES['arquivo']['tmp_name'] -> Pega o "conteúdo" do arquivo

$_FILES['arquivo']['name'] -> Pega o nome do arquivo

Rsrs obrigado pela complementação.. como o colega pergunto se era possivel e eu estava com pressa acabei não deixado mais detalhado.. mas é exatamente isso...

tenta aee Clayton qualquer coisa volte a postar aqui..

Link to comment
Share on other sites

  • 0
Faltou uma coisa: no <FORM> da página que envia as informações, tem que colocar enctype="multipart/form-data"

Para pegar a imagem que foi enviada no formulário:

$_FILES['arquivo']['tmp_name'] -> Pega o "conteúdo" do arquivo

$_FILES['arquivo']['name'] -> Pega o nome do arquivo

Rsrs obrigado pela complementação.. como o colega pergunto se era possivel e eu estava com pressa acabei não deixado mais detalhado.. mas é exatamente isso...

tenta aee Clayton qualquer coisa volte a postar aqui..

É o seguinte, ao inserir os comandos no arquivo form.php para pegar a imagem dá um erro no code, como vê na imagem:

tela.gif

no navegador apareceu a seguinte mensagem:

Parse error: syntax error, unexpected T_VARIABLE

Desculpem a falta de conhecimento, mas onde estou errando?

Edited by Clayton Souza
Link to comment
Share on other sites

  • 0

Beleza, bom exercício para mim, mas ainda não cheguei lá, o que acontece:

fiz as configurações como segue:

no formulário eu fiz o seguinte:

<tr>
        <td colspan="2">Escolha uma foto para enviar: <input type="file" name="arquivo" id="foto"  size="25" /> 
    </td>
</tr>
no form.php que é o action, fiz o seguinte:
// como vocês me ensinaram para chamar o arquivo do formulário

$foto = $_FILES['arquivo']['tmp_name'];
$foto = $_FILES['arquivo']['name'];
e mais abaixo eu chamo a variável para imprimir no meu email:
$foto

Acontece que recebo no meu email só o nome do arquivo, desta forma:

Foto: Foto_Clayton.jpg //aqui deveria exibir também a imagem

Nome: Clayton

Me ajudem aí, alguma dica onde estou errando?, espero que não seja tão óbvio quanto o ponto e vírgula. kkk

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...