在上载文件之前,是否使用phpmailer发送文件?
我无法通过phpmailer脚本发送带有附件的电子邮件。如果我想在邮件中添加一个文件,我有一个工作代码。但是当涉及到多个文件时,看起来它们甚至没有上传 单个文件的我的代码:在上载文件之前,是否使用phpmailer发送文件?,php,html,attachment,phpmailer,Php,Html,Attachment,Phpmailer,我无法通过phpmailer脚本发送带有附件的电子邮件。如果我想在邮件中添加一个文件,我有一个工作代码。但是当涉及到多个文件时,看起来它们甚至没有上传 单个文件的我的代码: if (isset($_FILES['file']) && $_FILES['file']['error'] == UPLOAD_ERR_OK) { $mail->AddAttachment($_FILES['file']['tmp_name'], $_FILE
if (isset($_FILES['file']) &&
$_FILES['file']['error'] == UPLOAD_ERR_OK)
{
$mail->AddAttachment($_FILES['file']['tmp_name'],
$_FILES['file']['name']);
if(!$mail->Send())
{
header("Location: " . $returnErrorPage);
}
else
{
header("Location: " . $returnHomePage);
}
}
我尝试了一些代码,这些代码应该循环遍历$\u文件中的所有文件,但没有成功。然后我测试了以下代码:
$count = count($_FILES['file']['tmp_name']);
echo $count;
它返回0。我知道$\u文件是空的,但我不知道原因。我需要缓冲文件或类似的东西吗
编辑:
以下是将文件和其他数据发送到脚本的html代码:
<form id="form_907007" class="appnitro" method="post" action="server/phpmailer.php"
enctype="multipart/form-data">
<p>Choose data (txt, html etc.):<br>
<input name="file" type="file" size="50" maxlength="100000" multiple>
</p>
</form>
选择数据(txt、html等):
我的问题的解决方案基于Synchro的想法,先上传文件,然后发送电子邮件
在我的html代码中,我必须更改这一行:
<input name="file" type="file" size="50" maxlength="100000" multiple>
<input name="file[]" type="file" size="50" maxlength="100000" multiple>
在下一步中,我检查文件是否上传成功,如果return=TRUE,我将其作为附件添加到邮件中:
if(move_uploaded_file($tmp_name,"server/data/$name" ))
{
$mail->AddAttachment("server/data/$name");
}
if($mail->Send()){
foreach ($_FILES["file"]["error"] as $key => $error)
{
$name = $_FILES["file"]["name"][$key];
unlink("$name");
}
header("Location: " . $returnPage);
exit;}
如果一切顺利,我可以在发送邮件后删除文件:
if(move_uploaded_file($tmp_name,"server/data/$name" ))
{
$mail->AddAttachment("server/data/$name");
}
if($mail->Send()){
foreach ($_FILES["file"]["error"] as $key => $error)
{
$name = $_FILES["file"]["name"][$key];
unlink("$name");
}
header("Location: " . $returnPage);
exit;}
谢谢你的帮助 日志中有错误吗?如何设置或填充$\u FILES['file']数组项?代码在哪里?你验证过它是否真的被设置好了吗?我已经添加了我的html代码,其余的都是自动读取的,特别是
移动上传的文件
-首先整理你的上传,然后再担心邮寄它们。如果你从if语句中删除$上传的文件['file']['error']==上传错误,OK会发生什么?