发送多个附件PHP imap仅发送1个附件

发送多个附件PHP imap仅发送1个附件,php,imap,Php,Imap,脚本可以工作,但只发送一个附件。我似乎不知道我做错了什么。它将发送第一个附件$userfile['name'][0],但不会发送$userfile['name'][1] $i = 0; foreach($_FILES as $userfile){ $tmp_name = $userfile['tmp_name'][$i]; $type = $userfile['type'][$i]; $name = $userfile['name'][$i];

脚本可以工作,但只发送一个附件。我似乎不知道我做错了什么。它将发送第一个附件$userfile['name'][0],但不会发送$userfile['name'][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 />
$i=0;
foreach($\作为$userfile的文件){
$tmp_name=$userfile['tmp_name'][$i];
$type=$userfile['type'][$i];
$name=$userfile['name'][$i];
$size=$userfile['size'][$i];
$i++;
}

将文件名更改为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 ...
}
应该是这样的:

$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 ...
}
$count\u upload\u files=count($\u files['userfile']['name']);
对于($i=0;$i<$count\u上传的文件;$i++)
{
$tmp_name=$_文件['userfile']['tmp_name'][$i];
$type=$_文件['userfile']['type'][$i];
$name=$_文件['userfile']['name'][$i];
$size=$_文件['userfile']['size'][$i];
//使用$temp_name、$type、$name和$size执行您想要的任何操作。。。
}
但如果您想继续使用文件[]。然后像这样:

$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 ...
}
$count\u upload\u files=count($\u files['file']['name']);
对于($i=0;$i<$count\u上传的文件;$i++)
{
$tmp_name=$_FILES['file']['tmp_name'][$i];
$type=$_文件['file']['type'][$i];
$name=$_文件['file']['name'][$i];
$size=$_文件['file']['size'][$i];
//使用$temp_name、$type、$name和$size执行您想要的任何操作。。。
}

这不是附件发送代码。如果您需要任何有用的帮助,请提供完整的代码。您只是试图以错误的方式获取文件。看看我的答案。您应该在其中指定文件数组名。第二个选项有效。谢谢