我正在尝试通过联系表单发送一些文件。但是,我有两个问题。
第一个:文件到达时没有格式,例如:phpjL9y80。
第二:我不知道PHPMailer是否有一个函数或类似的东西来过滤扩展名,因为,我只需要。doc, .docx和。pdf文件。
有人能帮我一下吗?$mail->AddAttachment($_FILES['file']['tmp_name']);
将上传的文件移动到服务器的某个位置。然后附上。
move_uploaded_file($_FILES["file"]["tmp_name"],"/path/to/directory/". $_FILES["file"]["name"]);
过滤它,也许PHPMailer没有什么要做的。但是,你可以这样写:
$allowedExts = array("doc", "docx", "pdf");
$extension = end(explode(".", $_FILES["file"]["name"]));
if (in_array($extension, $allowedExts))
{
$mail->AddAttachment("/path/to/directory/". $_FILES["file"]["name"]);
}
要在发送完邮件后删除该文件,只需取消它的链接。
unlink("/path/to/directory/". $_FILES["file"]["name"]);