php无表单上传文件,php – 来自表单的WP邮件附件,无文件管理器上传文件
從表單通過wp_mail函數我正在嘗試發送帶附件的電子郵件,而不將文件上傳到文件管理器.
我收到附件的電子郵件.但附件名稱不正確,沒有文件類型.請幫忙解決這個問題.
這是HTML表單
有我的PHP代碼
if (isset($_POST['Submit'])) {
$attachments = $_FILES['Attached']['tmp_name'];
$recipients = "john@mail.com";
$SenderName = get_bloginfo('name');
$SenderEmail = "noreply@domain.com";
$body = "How are you what are you doing now. bla bla bla";
$recipients = array($to);
$headers[] = "From: $SenderName " . "\r\n";
$headers[] = "Content-Type: text/html";
$subj = "This is mail subject";
$SendMail = wp_mail( $recipients, $subj, $body, $headers, $attachments );
}
解決方法:
好吧,我不得不為這一個提出解決方法
我做的是
>將文件上傳到服務器
>使用wp-mail發送電子郵件
>成功發送電子郵件或不成功;取消上傳圖片的鏈接
1.將文件上傳到服務器
/*image upload */
/* GET File Variables */
$target_dir = $_SERVER['DOCUMENT_ROOT']. "/uploads/";
$image_name = $_FILES['YOUR_IMAGE']['name'];
$target_file = $target_dir . basename($_FILES['YOUR_IMAGE']['name']);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
$check = getimagesize($_FILES["YOUR_IMAGE"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
// Check file size
if ($_FILES["YOUR_IMAGE"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["YOUR_IMAGE"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["YOUR_IMAGE"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
$attachment = array($target_file);
2.使用wp-mail郵件
$to = $Email; // put your email here
$headers = array('Content-Type: text/html; charset=UTF-8','From:' . $name . '');
// $headers = 'From:' . $name . '' . "\r\n"; // put user's email here or duplicate your email
$subject = 'Apply Online Form';
if (wp_mail($to, $subject, $message, $headers, $attachment ) === false) {
echo "Error";
unlink($target_file);
} else {
unlink($target_file);
echo "
Mail Sent Successfully
";}
3.成功發送電子郵件或不取消鏈接上傳的圖像
unlink($target_file);
來源:https://www.icode9.com/content-1-317501.html
總結
以上是生活随笔為你收集整理的php无表单上传文件,php – 来自表单的WP邮件附件,无文件管理器上传文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 投影仪有勿扰模式吗?可以连接蓝牙耳机看电
- 下一篇: php 解决方案,php优化解决方案