php中的电子邮件附件

时间:2010-11-10 06:52:02

标签: php email

 $pieces = explode(",", $sentto);
 for($i=0;$i<count($pieces)-1;$i++)
  {
   $fileatt      = $_FILES['attachcopy']['tmp_name'];
   $fileatt_type = $_FILES['attachcopy']['type'];
   $fileatt_name = $_FILES['attachcopy']['name'];

    $pieces[$i]=$pieces[$i].",";
    $sel="insert into newmessage set sendto='".$pieces[$i]."', 
                                   sendfrom='".$almemailid."',
                                   subject='".$subject."',
                                   message='".$color."',
                           attachment='".$fileatt_name."', 
                       updateddate = now()";


     $selqur=mysql_query($sel) or die("Error (" . mysql_errno() .")" . mysql_error());

     $lastid_id = mysql_insert_id();
     $folderpath = "Attachment/".$lastid_id."".$fileatt_name;
     move_uploaded_file($_FILES["attachcopy"]["tmp_name"],$folderpath);
 }

以上程序在单个emailid中运行良好并发送到附件, 我发送了更多带附件的emailid,只发送给所有人和attachmnet的emil 仅发送第一个emailid而不是其他。 我已将所有附件存储在foldr中,附件文件与自动增量ID一致。 在上面的for循环中第一次只在文件夹中存储附件而不是下一次迭代 存储在文件夹

1 个答案:

答案 0 :(得分:0)

将上传的文件从其临时位置(通常在/ tmp中)移动到$ folderpath。第二次尝试这样做时,它不再位于其临时位置,因为您已经移动了它。您需要在循环外执行此操作或检查它是否已在新位置。