2012-08-05 122 views
3

任何人都可以告訴我用phpMailer附件發送郵件的步驟。 我已準備好發送電子郵件的所有代碼,並且工作正常,但我不知道如何發送附件。我有表單,如果我從POST文件輸入中獲得值,它只會給我提供文件名稱而不是完整路徑。我想爲了添加附件,我需要獲取文件的完整路徑,對嗎? 我不需要在服務器上存儲文件,只需要通過電子郵件發送。用php郵件發送電子郵件附件

回答

4

我找到了解決辦法: 首先,在我的形式,我必須包括ENCTYPE =「的multipart/form-data的」發送文件,所以它必須是這樣的:

<form method="POST" action="send.php" enctype="multipart/form-data"> 
      inputs... 
</form> 

之後,我得到的文件這種方式:

if(is_uploaded_file($_FILES['myfile']['tmp_name'])) { 
      $file = $_FILES['myfile']; 
      } 

然後,我準備這個文件的路徑現在是在臨時目錄,並確定新的文件名:

$attachment_path = $this->file['tmp_name']; 

//If need to give new name for the file: 
    //$newfilename = pathinfo(basename($this->file['name'])); 
    //$attachment_name = "attachment_new_name.".$newfilename['extension']; 

$attachment_name = basename($this->file['name']); 

$mail->AddAttachment($attachment_path, $attachment_name); 

完成!文件現在附上。

+0

我只改變了 $ mail-> AddAttachment($ _ FILES ['file'] ['tmp_name'],$ _FILES ['file'] ['name']); 但它的工作,謝謝 – magorich 2013-12-12 18:55:37