我不是这方面的专业人士,所以请原谅我提出这样一个(可能)愚蠢的问题。
我需要帮助设置(在html页面上)一种方法,允许访问者浏览他们的计算机上的文件(实际上是2个文件),当他们选择提交时将附加到PHP邮件表单。
我知道使用PHP邮件图像,我需要使用像PearMime或PHPMailer这样的东西。
*的 更新 *
好的,现在我知道如何使用HTML表单来获取文件。当我使用以下PHP时,我做错了什么?我通过ID从HTML页面请求了2个文件(HTML正确创建了两个文件),即PHPMailer_5.2.1的位置,$ mail-> MsgHTML(file_get_contents('testfiles.html'));实际上是在查看我在该位置创建的html页面,该页面只有一个html文档的模板启动程序,其中包含正文中的单词Sample。
<?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!
}
?>
答案 0 :(得分: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脚本应根据需要处理字段。祝你好运:)