【发布时间】:2021-07-30 08:28:25
【问题描述】:
提前感谢您的回答。我希望在我的 PHP 联系表单脚本中添加文件上传功能。例如,用户可以上传简历。
下面的 PHP 脚本运行良好,有助于减少垃圾邮件,并且非常易于理解。所以我们希望保持这种格式,不要让它变得更复杂。
我将如何编辑现有脚本以包含此功能?
任何帮助表示赞赏。
/**
*
* Function to validate an email address
*
**/
function validate_email($email)
{
//Perform a basic syntax-Check
//If this check fails, there's no need to continue
$email = filter_var($email, FILTER_SANITIZE_STRING);
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
return false;
//extract host
list($user, $host) = explode("@", $email);
//check, if host is accessible
if (!checkdnsrr($host, "MX") && !checkdnsrr($host, "A"))
return false;
return true;
}
/**
*
* Get/set variables
*
**/
$name = isset($_POST['name']) ? htmlspecialchars(stripslashes($_POST['name']), ENT_QUOTES, "UTF-8") : '';
$email = isset($_POST['email']) ? htmlspecialchars(stripslashes($_POST['email']), ENT_QUOTES, "UTF-8") : '';
$confirm = isset($_POST['confirm']) ? htmlspecialchars(stripslashes($_POST['confirm']), ENT_QUOTES, "UTF-8") : '';
$message = isset($_POST['message']) ? htmlspecialchars(stripslashes($_POST['message']), ENT_QUOTES, "UTF-8") : '';
$SPAM = $_POST["spam-check"];
/**
*
* Check no empty values
*
**/
if (empty($name) OR empty($email) OR empty($confirm) OR empty($message) OR !empty($SPAM) OR !validate_email($email) OR ($email !== $confirm))
{
exit("There was an error whilst processing your request, please call us or try again later – Thank You");
}
else
{
$subject = "Website Contact Form Submit";
$to = "email@myemail.co.uk";
$body = "Name: " . $name . "\n";
$body .= "Email: " . $email . "\n\n";
$body .= "Message:\n" . $message;
$header = "From: " . $name . " <" . $email . ">\n";
$header .= "Reply-To: " . $name . " <" . $email . ">\n";
if ( @mail($to, $subject, $body, $header) )
{
echo json_encode( array("sent"=>"success", "feedback"=>"Your query has been sent successfully") );
exit;
}
}```
【问题讨论】:
-
您要上传文件还是通过邮件发送?
-
@Smurker 我希望用户可以选择在联系表单上上传文件。然后像联系表格的其余部分一样通过电子邮件发送。我希望这很清楚。
-
你的问题然后分成两部分。 Upload a file to a remote server 然后send it via email。看看我链接到你的答案并尝试一下!
标签: php file-upload contact-form