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

Upload de foto


Clayton Souza

Pergunta

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 para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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?

Editado por Clayton Souza
Link para o comentário
Compartilhar em outros 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 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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...