我正在尝试通过联系表格发送一些文件。但是,我有两个问题。
首先:文件到达时没有格式,例如:phpjL9y80。
第二:我不知道 PHPMailer 是否有一个函数或类似的东西来过滤扩展,因为我只需要 .doc、.docx 和 .pdf 文件。
有人能帮助我吗?
$mail->AddAttachment($_FILES['file']['tmp_name']);
我正在尝试通过联系表格发送一些文件。但是,我有两个问题。
首先:文件到达时没有格式,例如: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"]);
希望这可以帮助。