ファイルアップロード機能付きのメールフォームを、自作練習しています。
ほぼできたのですが、通知メール上にファイル名だけが表示されません。
原因がわかる方いらっしゃったら教えていただきたいです。
名前などの他の情報は表示されています。
アップロードされたファイルもサーバーのほうに届いています。
php
1【confirm.php】 2 3<?php 4if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) { 5 $upfilename = $_FILES["upfile"]["name"]; 6 if (move_uploaded_file($_FILES["upfile"]["tmp_name"], "files/" . $_FILES["upfile"]["name"])) { 7 chmod("files/" . $_FILES["upfile"]["name"], 0644); 8 } 9} 10 11$page_flag = 0; 12 13if( !empty($_POST['confirm']) ) { 14 $page_flag = 1; 15 if (isset($_POST['job']) || is_array($_POST['job'])) { 16 $your_job = implode("、", $_POST["job"]); 17 } 18} elseif( !empty($_POST['submit']) ) { 19 $page_flag = 2; 20 require_once('mail.php'); 21} 22?> 23 24 <body> 25 26 <header> 27 </header> 28 <main> 29 30 <section class="contact_form"> 31 32 <?php if( $page_flag === 1 ): ?> 33 34 <div class="container"> 35 <h1 class="bolder pb-3">以下の内容でよろしければ、下の<span class="inlineblock">「送信する」をクリックしてください。</span></h1> 36 </div> 37 38 <div class="contact_form_wrapper px-3"> 39 <form class="confirm_form" action="" method="post"> 40 <input type="hidden" name="scroll_top" value="" class="st"> 41 42 <div class="form_flex"> 43 <div class="form_titles"> 44 お名前 45 </div> 46 <div class="confirm_item"> 47 <p><?php echo htmlspecialchars($_POST["name"], ENT_QUOTES); ?></p> 48 </div> 49 </div> 50 51 <div class="form_flex"> 52 <div class="form_titles"> 53 ご職業 54 </div> 55 <div> 56 <p class="confirm_item"><?php echo $your_job; ?></p> 57 </div> 58 </div> 59 60 <div class="form_flex"> 61 <div class="form_titles"> 62 メールアドレス 63 </div> 64 <div> 65 <p class="confirm_item"><?php echo htmlspecialchars($_POST["mail"], ENT_QUOTES); ?></p> 66 </div> 67 </div> 68 69 <div class="form_flex"> 70 <div class="form_titles"> 71 添付ファイル 72 </div> 73 <div> 74 <p class="confirm_item"><?php echo htmlspecialchars($_FILES["upfile"]["name"], ENT_QUOTES). " "; echo round(htmlspecialchars($_FILES["upfile"]["size"], ENT_QUOTES)/1000) . "KB"; ?></p> 75 </div> 76 </div> 77 78 <div class="form_flex"> 79 <div class="form_titles"> 80 その他 81 </div> 82 <div> 83 <p class="confirm_item"><?php echo nl2br(htmlspecialchars($_POST["message"], ENT_QUOTES)); ?></p> 84 </div> 85 </div> 86 87 <div class="btn_wrapper"> 88 <p class="submit"> 89 <input type="submit" name="submit" value="送信する" /> 90 </p> 91 <p class="goback"> 92 <button type="button" onclick=history.back() name="goback" value="もどる" />もどる</button> 93 </p> 94 </div> 95 <input type="hidden" name="name" value="<?php echo $_POST["name"]; ?>"> 96 <input type="hidden" name="job" value="<?php echo $your_job; ?>"> 97 <input type="hidden" name="mail" value="<?php echo $_POST["mail"]; ?>"> 98 <input type="hidden" name="upfile" value="<?php echo $_FILES["upfile"]["name"]; ?>"> 99 <input type="hidden" name="message" value="<?php echo htmlspecialchars($_POST["message"]); ?>"> 100 <input type="hidden" name="recaptchaResponse" id="recaptchaResponse"> 101 </form> 102 </div> 103 104 <?php elseif( $page_flag === 2 ):?> 105 106 <div class="mail_done"> 107 <div class="container"> 108 <h1 class="bolder pb-3">送信完了しました。</h1> 109 <p class="small text-dimgray text-center">2営業日以内に担当よりご連絡させて頂きますので、しばらくお待ちください。<span class="inlineblock"></span></p> 110 <a class="back_to_top" href="index.php">トップページにもどる</a> 111 </div> 112 </div> 113 114 <?php else: ?> 115 <?php endif; ?> 116 117 </section> 118 119
php
1【mail.php】 2<?php 3 4$header = null; 5$auto_reply_subject = null; 6$auto_reply_text = null; 7 8$admin_reply_subject = null; 9$admin_reply_text = null; 10 11date_default_timezone_set('Asia/Tokyo'); 12 13 14/*--------- 自動メール送信 ---------*/ 15$header = "MIME-Version: 1.0\n"; 16$header .= "From: TEST <noreply@test.com>\n"; 17$header .= "Reply-To: TEST <noreply@test.com>\n"; 18 19$auto_reply_subject = '【自動返信テスト】お問い合わせありがとうございます。'; 20$auto_reply_text = "この度は、お問い合わせ頂き誠にありがとうございます。\n下記の内容でお問い合わせを受け付けました。\n\n"; 21$auto_reply_text .= "お問い合わせ日時:" . date("Y-m-d H:i") . "\n"; 22$auto_reply_text .= "お名前:" . $_POST['name'] . "\n"; 23$auto_reply_text .= "ご職業:" . $_POST['job'] . "\n"; 24$auto_reply_text .= "メールアドレス:" . $_POST['mail'] . "\n"; 25$auto_reply_text .= "添付ファイル:" . $_FILES["upfile"]["name"] . "\n\n"; 26$auto_reply_text .= "その他:\n" . $_POST['message'] . "\n\n"; 27$auto_reply_text .= "2営業日中に担当より返信させていただきますので、しばらくお待ちください。\n"; 28$auto_reply_text .= "◯◯◯事務局 \n\n"; 29$auto_reply_text .= "※自動返信のため、このアドレスにメールは返信できません。\n\n"; 30 31// メール送信 32mb_send_mail( $_POST['mail'], $auto_reply_subject, $auto_reply_text, $header); 33 34 35/*--------- 運営側にお知らせ ---------*/ 36$admin_reply_subject = "お問い合わせを受け付けました"; 37 38$admin_reply_text = "下記の内容でお問い合わせがありました。\n\n"; 39$admin_reply_text .= "お問い合わせ日時:" . date("Y-m-d H:i") . "\n"; 40$admin_reply_text .= "お名前:" . $_POST['name'] . "\n"; 41$admin_reply_text .= "ご職業:" . $_POST['job'] . "\n"; 42$admin_reply_text .= "メールアドレス:" . $_POST['mail'] . "\n"; 43$admin_reply_text .= "添付ファイル:" . $_FILES["upfile"]["name"] . "\n\n"; 44$admin_reply_text .= "その他:\n" . $_POST['message'] . "\n\n"; 45 46mb_send_mail( 'xxxxx@gmail.com', $admin_reply_subject, $admin_reply_text, $header); 47 48
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/10 04:14
2019/05/10 04:50