我已将代码添加到我自己的表单中,但我有这个错误:
“未检测到附件”。
我不是开发人员,所以当我谈论代码时我有点困惑,对不起:(
这是我的代码:
<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']);
对我来说,没有错误,所以我不明白为什么在帖子中没有检测到文件。
有人可以帮助我吗?
非常感谢!
答案 0 :(得分:1)
问题出在您的HTML表单中。你没有让用户选择一个文件,因为你已经用数据填充了值字段,而不是文件值=“Votre CV au格式PDF ou word uniquement”。
它应该看起来像
<input type="file" name="cv" />
这样你的POST就会有一个带有文件路径值的cv字段。
不要忘记表单中的enctype =“multipart / form-data”。