PHP邮件程序,未找到/检测到附件 - 所以,电子邮件未发送

时间:2014-02-18 08:43:30

标签: php attachment phpmailer

我已将代码添加到我自己的表单中,但我有这个错误:

“未检测到附件”。

我不是开发人员,所以当我谈论代码时我有点困惑,对不起:(

这是我的代码:

 <label for="cv">Votre votre CV
     <span class="obligatoire">*</span>
 </label>
 <input type="file" class="validate[required,custom[cv]]" name="cv" class="cv" value="Votre CV au format PDF ou word uniquement" />   

和接待处的代码:

$allowedExts = array("doc", "docx", "pdf");
$temp = explode(".", $_FILES["cv"]["name"]);
$extension = end($temp);
if ((($_FILES["cv"]["type"] == "application/pdf")
|| ($_FILES["cv"]["type"] == "application/msword"))

&& in_array($extension, $allowedExts))
  {
  if ($_FILES["cv"]["error"] > 0)
    {
    echo "<script>alert('Error: " . $_FILES["cv"]["error"] ."')</script>";
    }
  else
    {
        $d='telechargements/emploi/cv/';
        $de=$d . basename($_FILES['cv']['name']);
        move_uploaded_file($_FILES["cv"]["tmp_name"], $de);
        $fileName = $_FILES['cv']['name'];
        $filePath = $_FILES['cv']['tmp_name'];
        //add only if the file is an upload
     }
  }
else
  {
        echo "<script>alert('Invalid file')</script>";
  }

$mail = new PHPMailer();
$mail->IsMail();

$mail->AddReplyTo($_POST['email']);
$mail->AddAddress($emailAddress);
$mail->SetFrom($_POST['email']);
$mail->Subject = "Site Collin : Une réponse à l'offre de ".mb_strtolower($_POST['job'])."";
$mail->AddAttachment($_FILES['cv']['tmp_name'], $_FILES['cv']['name']);

对我来说,没有错误,所以我不明白为什么在帖子中没有检测到文件。

有人可以帮助我吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

问题出在您的HTML表单中。你没有让用户选择一个文件,因为你已经用数据填充了值字段,而不是文件值=“Votre CV au格式PDF ou word uniquement”。

它应该看起来像

<input type="file" name="cv" />

这样你的POST就会有一个带有文件路径值的cv字段。

不要忘记表单中的enctype =“multipart / form-data”。