PHPで作っている問い合わせフォームで添付ファイル機能をつけたいです。
以下のサイトを参考にして添付ファイル機能部分を作成しており、画像(img)は添付できるのですがpdfファイルやその他のファイルの取得方法がうまくいかない状態です。
PHPでフォームからのファイルアップロードとメールでの添付送信を実装する
流れとしては、フォームに入力&ファイル添付→確認画面にて入力内容&ファイル添付確認→送信→メールにファイルが添付される
現状、確認画面に行った際にimg以外のpdfファイルが取得できない状態です。
アドバイスいただければ嬉しく思いますのでよろしくお願いします。
html
1 <div class="form_box"> 2 <p class="category">履歴書アップロード<br class="pc_br">(任意)</p> 3 <div class="resume"> 4 <label> 5 <input class="file_input" name="input_file" type="file" name="file" accept="application/pdf">ファイルを選択 6 </label> 7 <p class="choosen">*ファイルが選択されていません</p> 8 </div> 9 </div> 10 11 <div class="form_box"> 12 <p class="category">職務経歴書アップロード<br class="pc_br">(任意)</p> 13 <div class="resume"> 14 <label> 15 <input class="file_input_second" name="input_file" type="file" name="file_second" accept=".png, .jpg, .jpeg, .pdf, .doc">ファイルを選択 16 </label> 17 <p class="choosen_second">*ファイルが選択されていません</p> 18 </div> 19 </div>
php
1//mailcomfirm.php 2 3<?php 4 function fileValidatorSize($data) { 5 //ファイルサイズの上限をMB単位で指定 6 $allowMaxSize = 2; 7 if($data['size'] < $allowMaxSize * 1000000) { 8 return false; 9 } else { 10 return true; 11 } 12 } 13 function fileValidatorType($data) { 14 //許可するファイルのMIMEタイプを指定 15 $allowFileType = array( 16 'image/jpeg', 17 'image/png', 18 'image/gif', 19 'text/plain', 20 'text/csv', 21 'application/pdf', 22 'application/zip' 23 ); 24 if(in_array($data['type'], $allowFileType)) { 25 return false; 26 } else { 27 return true; 28 } 29 } 30 $isErrorFileSize = fileValidatorSize($_FILES['input_file']); 31 $isErrorFileType = fileValidatorType($_FILES['input_file']); 32 33 //添付ファイルアップロード 34 $fileTempName = $_FILES['input_file']['tmp_name']; 35 $fileName = $_FILES['input_file']['name']; 36 $attachedFile = ""; 37 $fileType = ""; 38 if(!$isErrorFileSize && !$isErrorFileType) { 39 if(!empty($fileTempName)) { 40 $isUploaded = move_uploaded_file($fileTempName, 'attachment/'.$fileName); 41 if($isUploaded) { 42 $attachedFile = $fileName; 43 if(strpos($_FILES['input_file']['type'], 'image') !== false) { 44 $fileType = 'image'; 45 } else { 46 $fileType = 'other'; 47 } 48 $uploadError = false; 49 } else { 50 $uploadError = true; 51 } 52 } 53 } else { 54 $uploadError = true; 55 } 56 57 //SESSIONへ受け渡し 58 if(!$uploadError) { 59 $_SESSION['input_file'] = $attachedFile; 60 } 61?> 62 63~~途中省略~~~ 64 65//ファイル取得部分 66 67 <tr id="resume_tr"> 68 <th>履歴書</th> 69 <td> 70 <?php if(!$uploadError && $fileType === 'other'): ?> 71 <?php echo $attachedFile; ?> 72 <span><?php echo $attachedFile; ?></span> 73 <?php else: ?> 74 <span><?php echo $attachedFile; ?></span> 75 <?php endif; ?> 76</td> 77</tr> 78 79<tr id="resume_tr_second"> 80 <th>職務経歴書</th> 81 <td> 82 <?php if(!$uploadError && $fileType === 'other'): ?> 83 <?php echo $attachedFile; ?> 84 <span><?php echo $attachedFile; ?></span> 85 <?php else: ?> 86 <span><?php echo $attachedFile; ?></span> 87 <?php endif; ?> 88 </td> 89 </tr> 90<tr> 91