2013-02-10 73 views
0

所有IM試圖使這種形式的工作,但有一些問題,這是我的發送者腳本的一部分從列表中選擇附件,發送郵件使用PHP的mail

 $mail->AddAttachment($_POST[file];);  // attachment 

我有一個簡單地從一個職位valuse形式選擇在列表中,併發送到我的發件人腳本我將如何要求它找到文件名file1並將它作爲附件添加到電子郵件中,所以我可以從列表中選擇file2從附件中選擇file2文件3選擇相同的原則。

任何想法

+0

我想你沒有分號後'$ _ POST [文件]'因爲你已經張貼在的問題... – sebast26 2013-02-10 00:29:07

回答

0

我假設你試圖完成一個多文件選擇並將它們附加到你的電子郵件。你必須使用數組。命名您的文件輸入名稱

<input name="attachment[]" type="file" multiple="true"> 

然後使用foreach循環

foreach ($attachment['error'] as $key => $error) { 
     if ($error == UPLOAD_ERR_OK) { 
      // Your code goes here. 
     } 
    } 
0

如果這些文件是在POST請求上傳,那麼你應該使用$ _FILES而不是$ _ POST。 (要確保文件上傳表單的屬性enctype="multipart/form-data"否則文件上傳不了。)

參見:http://php.net/manual/en/reserved.variables.files.php

如果您在請求中上傳了很多文件,你可以通過使用變量讓他們:$_FILES['file1']$_FILES['file2'] ...

如果您需要連接上傳的文件通過電子郵件,你應該使用tmp_name的值的文件(這是你的服務器上的臨時定位,其中文件),這樣就可以獲得:

$mail->AddAttachment($_FILES['file1']['tmp_name']); 

你也可以檢查文件是否成功上傳。值$_FILES['file1']['error']應該是0.如果不是,那麼看到這裏:http://www.php.net/manual/en/features.file-upload.errors.php