2010-11-10 16 views
0
$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 отправить только первый EMAILID не для других. У меня есть все вложения в foldr, и файлы вложений объединяются с идентификатором автоматического увеличения. в приведенном выше для цикла первом времени только сохраненное вложение в папку следующей итерации не , хранящееся в папкевложения электронной почты в PHP

+0

Пожалуйста, задайте вопрос правильно. – Vikash

+2

Я ничего не понял! – stillstanding

ответ

0

Вы перемещаете загруженный файл из своего временного местоположения (обычно в/tmp) в путь $ folderpath. Во второй раз, когда вы пытаетесь это сделать, он больше не будет находиться на своем временном месте, потому что вы уже переместили его. Вам нужно сделать это за пределами цикла или проверить, находится ли он уже в новом месте.

Смежные вопросы