发送多个附件PHP imap只发送1个附件
问题描述:
脚本工作,但只发送一个附件。我似乎无法弄清楚我做错了什么。它会发送第一附着$ userfile的[ '名称'] [0],而不是userfile的$ [ '名'] [1]发送多个附件PHP imap只发送1个附件
$i = 0;
foreach($_FILES as $userfile){
$tmp_name = $userfile['tmp_name'][$i];
$type = $userfile['type'][$i];
$name = $userfile['name'][$i];
$size = $userfile['size'][$i];
$i++;
}
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"
enctype="multipart/form-data" name="form1">
<input type="file" name="file[]" multiple />
原来的代码是从这里:How to attach two or multiple files and send mail in PHP
答
更改文件名到userfile的[],那么应该是这样的:
应该是这样的:
$count_uploaded_files = count($_FILES['userfile']['name']);
for($i = 0; $i < $count_uploaded_files; $i++)
{
$tmp_name = $_FILES['userfile']['tmp_name'][$i];
$type = $_FILES['userfile']['type'][$i];
$name = $_FILES['userfile']['name'][$i];
$size = $_FILES['userfile']['size'][$i];
// Do whatever you want with $temp_name, $type, $name, and $size ...
}
但是如果你想留在文件[]。那么像这样:
$count_uploaded_files = count($_FILES['file']['name']);
for($i = 0; $i < $count_uploaded_files; $i++)
{
$tmp_name = $_FILES['file']['tmp_name'][$i];
$type = $_FILES['file']['type'][$i];
$name = $_FILES['file']['name'][$i];
$size = $_FILES['file']['size'][$i];
// Do whatever you want with $temp_name, $type, $name, and $size ...
}
+0
第二个选项有效。谢谢。 – user1282355
这不是附件发送代码。如果您需要任何有用的帮助,请提供完整的代码 –
您只是想以错误的方式获取文件。看到我的答案。您应该在其中指定文件数组名称。 –