I need to make an application form for a web page and I need this form to send the information entered by the user and also to attach the attached file. What is happening is that, after testing with my e-mail address on the recipient, I can receive all the information entered except the attachment. I will put the code that processes this form and I ask you for help to understand why the file is not being sent.
HTML
<div class="container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-offset-1 col-xs-12">
<div class="panel panel-default text-center">
<div class="panel-heading">
<h1>Recrutamento</h1>
</div>
<div class="panel-body">
<br />
<p>Se gostava de trabalhar connosco envie-nos a sua candidatura preenchendo este formulário.</p>
<br />
<form id="form-contacto" method="POST" enctype="multipart/form-data" action="mail/mail_recrut.php">
<div class="row">
<div class="col-sm-12 form-group">
<p class="text-top-rh">Que tipo de candidatura quer fazer?</p>
<div class="checkbox" style="text-align: left">
<input class="form-control" name="cand" placeholder="Ex: Colaborador Interno ou Perito Externo" type="text" required>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12 form-group">
<input class="form-control" name="nome" placeholder="Nome" type="text" required>
</div>
</div>
<div class="row">
<div class="col-sm-12 form-group">
<input class="form-control" name="email" placeholder="E-mail" type="email" required>
</div>
</div>
<div class="row">
<div class="col-sm-6 form-group">
<input class="form-control" name="tel" placeholder="Número de telefone" type="number">
</div>
<div class="col-sm-6 form-group">
<input class="form-control" name="pai" placeholder="PAI/20XX/XXXX" type="text">
</div>
</div>
<div class="row">
<div class="col-sm-6 form-group">
<input class="form-control" name="zona_resid" placeholder="Zona de Residência" type="text">
</div>
<div class="col-sm-6 form-group">
<input class="form-control" name="zona_act" placeholder="Zona de Actuação" type="text">
</div>
</div>
<div class="row">
<div class="col-sm-12 form-group">
<textarea class="form-control" name="mensagem" placeholder="Apresentação" type="text" rows="5"></textarea>
</div>
</div>
<div class="row">
<div class="col-sm-12 form-group" style="text-align: left">
<label>Anexar Curriculum vitae:</label>
</div>
</div>
<div class="row">
<div class="col-sm-12 form-group">
<input name="arquivo" type="file" class="form-control-file">
</div>
</div>
</div>
<div class="panel-footer">
<h3>Envie a sua candidatura</h3>
<input class="btn btn-lg" type="submit" name="btn_enviar" value="Enviar"></input>
</div>
</form>
</div>
</div>
</div>
</div>
PHP
<?php
//pego os dados enviados pelo formulario
$para = "[email protected]";
$cand = $_POST["cand"];
$nome = $_POST["nome"];
$email = $_POST['email'];
$tel = $_POST['tel'];
$pai = $_POST['pai'];
$zona_resid = $_POST['zona_resid'];
$zona_act = $_POST['zona_act'];
$assunto = "Candidatura enviada a partir de k.pt";
//Definição da mensagem que vai ser enviado no e-mail
$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;
if(file_exists($arquivo["mail_temp"]) and !empty($arquivo)){
$fp = fopen($_FILES["arquivo"]["mail_temp"],"rb");
$anexo = fread($fp,filesize($_FILES["arquivo"]["mail_temp"]));
$anexo = base64_encode($anexo);
fclose($fp);
$anexo = chunk_split($anexo);
$boundary = "XYZ-" . date("dmYis") . "-ZYX";
$mensagem = "--$boundary\n";
$mensagem .= "<br> <strong>Tipo de Candidatura: </strong>".$cand;
$mensagem .= "<br>";
$mensagem .= "<br> <strong>Nome: </strong>".$nome;
$mensagem .= "<br>";
$mensagem .= "<br> <strong>E-mail: </strong>".$email;
$mensagem .= "<br>";
$mensagem .= "<br> <strong>Telefone: </strong>".$tel;
$mensagem .= "<br>";
$mensagem .= "<br> <strong>PAI: </strong>".$pai;
$mensagem .= "<br>";
$mensagem .= "<br> <strong>Zona de Residência: </strong>".$zona_resid;
$mensagem .= "<br>";
$mensagem .= "<br> <strong>Zona de Atuação: </strong>".$zona_act;
$mensagem .= "<br>";
$mensagem .= "<br> <strong>Mensagem: </strong>".$_POST['mensagem'];
$mensagem .= "Content-Transfer-Encoding: 8bits\n";
$mensagem .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain
$mensagem .= "$mensagem\n";
$mensagem .= "--$boundary\n";
$mensagem .= "Content-Type: ".$arquivo["type"]."\n";
$mensagem .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";
$mensagem .= "Content-Transfer-Encoding: base64\n\n";
$mensagem .= "$anexo\n";
$mensagem .= "--$boundary--\r\n";
$headers = "MIME-Version: 1.0\n";
$headers .= "From: \"$nome\" <$email>\r\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";
$headers .= "$boundary\n";
//envio o email com o anexo
mail($para,$assunto,$mensagem,$headers);
echo"Email enviado com Sucesso!";
}
//se não tiver anexo
else{
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: \"$nome\" <$email>\r\n";
//envia o email sem anexo
mail($para,$assunto,$mensagem, $headers);
echo"Email enviado com Sucesso!";
}
?>
Alguém me sabe dizer o que se passa de errado aqui?\
Hug, Juliana