所有我都试图使这个表单工作但有一些问题,这是我的发件人脚本的一部分
$mail->AddAttachment($_POST[file];); // attachment
我有一个表单,它只是从列表中的选择中发布价值并进入我的发件人脚本我将如何要求它找到文件名 file1 并将其作为附件添加到电子邮件中?,所以我可以从清单 iot 附件 2 文件 3 选择了相同的原则。
有任何想法吗
如果文件是在 POST 请求中上传的,那么您应该使用 $_FILES 而不是 $_POST。(请确保您的文件上传表单具有属性enctype="multipart/form-data"
,否则文件上传将无法正常工作。)
见: http: //php.net/manual/en/reserved.variables.files.php
如果您在请求中上传了许多文件,您可以使用变量获取它们:$_FILES['file1']
, $_FILES['file2']
, ...
如果您需要在电子邮件中附加上传的文件,您应该使用文件的 tmp_name (它是文件所在服务器上的临时本地化),因此您得到:
$mail->AddAttachment($_FILES['file1']['tmp_name']);
您还可以检查文件是否已成功上传。的值$_FILES['file1']['error']
应为 0。如果不是,请参见此处:http ://www.php.net/manual/en/features.file-upload.errors.php
我假设您正在尝试完成多个文件选择并将它们附加到您的电子邮件中。你必须使用数组。将您的文件输入名称命名为
<input name="attachment[]" type="file" multiple="true">
然后使用 foreach 循环
foreach ($attachment['error'] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
// Your code goes here.
}
}