1

これは私の最初の投稿であり、phpMailerの連絡フォームに添付ファイルフィールドを追加することに関して助けが得られることを願っています。html Webサイトにアップローダー[参照]バーを既に追加しましたが、phpmailerとリンクする方法がわかりません。phpmailer.phpであるパッケージでそれを宣言する必要がありますか、それとも何かをする必要がありますか?

助けていただければ幸いです。以下は私の必死の試みです。

コードからの抜粋:

<?
$body = ob_get_contents();

$to = 'xxx@xxxx.com>';
$email = $email;
$subject = $subject;
$fromaddress = "xxx@xxxx.com";
$fromname = "Online Contact";

require("phpmailer.php"); //<<this is the original pack

$mail = new PHPMailer();

$mail->From     = "xxx@xxxx.com";
$mail->FromName = "My Name";
$mail->AddBCC("xxx@xxxx.com","Name 1");
$mail->AddAddress( $email,"Name 2");

$mail->WordWrap = 50;
$mail->IsHTML(true);

$mail->Subject  =  $subject;
$mail->Body     =  $body;
$mail->AltBody  =  "This is the text-only body";
// attachment
$mail->AddAttachment('uploadbar', 'new_file.pdf'); // the name of my html uploader is uploadbar, clicking browse to locate a file

if(!$mail->Send()) {
    $recipient = 'xxx@xxxx.com';
    $subject = 'Contact form failed';
    $content = $body;   

  mail($recipient, $subject, $content, "From: xxx@xxxx.com\r\nReply-To: $email\r\nX-Mailer: DT_formmail");
  exit;
}
?>
4

3 に答える 3

8

同じ問題がありました、これを試してください

$mail->AddAttachment($_SERVER['DOCUMENT_ROOT'].'/file-name.pdf');
于 2013-05-10T13:24:12.487 に答える
2

まず、アップロードフォームにがのようになっていることを確認しenctype='multipart/form-data'ます<form method=post action=file.php enctype='multipart/form-data'>

次に、phpmailerハンドラーファイルでこのコードを使用します

foreach(array_keys($_FILES['files']['name']) as $key) {
   $source = $_FILES['files']['tmp_name'][$key];
   $filename = $_FILES['files']['name'][$key];

   $mail->AddAttachment($source, $filename);
}
于 2012-05-13T05:59:25.313 に答える