1

私はこの分野の専門家ではないので、このような (おそらく) ばかげた質問をすることをお許しください。

訪問者が送信を選択したときに PHP メールフォームに添付されるコンピューター上のファイル (実際には 2 つのファイル) を参照できるようにする方法を (html ページで) セットアップするのに助けが必要です。

PHP メーリング イメージでは、PearMime や PHPMailer などを使用する必要があることはわかっています。

*更新*

これで、HTML フォームを配置してファイルを取得する方法がわかりました。次の PHP を使用すると、何が間違っていますか? ID によって HTML ページから要求された 2 つのファイルがあります (HTML には両方のファイルが正しく作成されています)。実際に、その場所で作成した html ページを見ています。このページには、本文に Sample という単語が含まれる html ドキュメントのテンプレート スターターが含まれています。

<?php

require("PHPMailer_5.2.1/class.phpmailer.php");

$mail = new PHPMailer(); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch


$file1 = $_REQUEST['file1'];
$file2 = $_REQUEST['file2'];

try {
  $mail->AddReplyTo('myemail@domain.com', 'FirstName LastName');
  $mail->AddAddress('myemail@domain.com', 'FirstName LastName');
  $mail->SetFrom('myemail@domain.com', 'FirstName LastName');
  $mail->AddReplyTo('myemail@domain.com', 'FirstName LastName');
  $mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
  $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
  $mail->MsgHTML(file_get_contents('testfiles.html'));
  $mail->AddAttachment($file1);      // attachment
  $mail->AddAttachment($file2); // attachment
  $mail->Send();
  echo "Message Sent OK</p>\n";
} catch (phpmailerException $e) {
  echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
  echo $e->getMessage(); //Boring error messages from anything else!
}


?>
4

1 に答える 1

1

HTML 属性をお探しですか?

<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />

がタグに含まれていることは非常に重要ですenctype="multipart/form-data。そうしないと、画像を添付できません。その後、PHP スクリプトは必要に応じてフィールドを処理する必要があります。幸運を :)

于 2012-07-27T20:52:34.607 に答える