我已经看到这是一个常见的问题,但通过搜索,我找不到我需要的答案。我使用PHP代码创建了一个邮件,其中包含位于我服务器上的附件。
我的网站有一个CRUD系统,read.php文件显示上传文件的各种元素。我还在此页面上有一个表单,允许用户输入并通过电子邮件发送地址和消息以便在该文件上发送。
我的表单代码是: -
<form class="form-horizontal" action="mailer.php" method="post">
<div class="form-group">
<label class="col-sm-2">Email Address</label>
<div class="col-sm-4">
<input name="doc_email" type="text" placeholder="Enter Email Address to" class="form-control" >
</div>
</div>
<div class="form-group">
<label class="col-sm-2">Message</label>
<div class="col-sm-4">
<input name="doc_message" type="text" placeholder="Enter a message (not mandatory)" class="form-control" >
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-success">Send Email</button>
</div>
</form>
目前我的mailer.php代码; -
<?php
if (isset($_POST['submit']))
{
$file_name = $_POST['file_name'];
$doc_email = $_POST['doc_email'];
$doc_message = $_POST['doc_message'];
require_once('class.phpmailer.php');
$email = new PHPMailer();
$email->From = 'you@example.com';
$email->FromName = 'Your Name';
$email->Subject = 'Message Subject';
$email->Body = $doc_message;
$email->AddAddress = $doc_email;
$path_file_to_attach = '/documents/uploads/';
$file_to_attach = $file_name;
$email->AddAttachment( $path_file_to_attach , $file_to_attach );
return $email->Send();
//redirect user after success
header("Location: index.php");
}
?>
class.phpmailer.php文件与read.php / mailer.php位于同一目录(/ documents)中,我得到的是一个没有电子邮件或错误的空白屏幕。
包含文件的文件夹位于名为&#39;上传&#39; ... documents / uploads /
的子文件夹中非常感谢任何帮助。
答案 0 :(得分:0)
你有两件事是空的:
<input type="text" name="file_name">
只需添加到您的HTML:
<button type="submit" name="submit"></button>
和你的按钮
function array_to_attributes ( $array_attributes )
{
$attributes_str = NULL;
foreach ( $array_attributes as $attribute => $value )
{
$attributes_str .= " $attribute=\"$value\" ";
}
return $attributes_str;
}
$attributes = array(
'data-href' => 'http://example.com',
'data-width' => '300',
'data-height' => '250',
'data-type' => 'cover',
);
echo array_to_attributes($attributes) ;