初めまして。
PHPのif文についての質問です。
現在ファイルアップロード機能を作っているのですが、最後の全ての条件に当てはまった時にファイルアップロード(または確認画面に遷移)を実行したいのですがこの書き方ですと、画像ファイルにJPG/PNG以外のものを選択しても実行されてしまいます。
このように複数条件がある場合、どのように記載すると
ファイル名が空ではない かつ コメントが空ではない かつ MP3ファイルが選択され拡張子がMP3 かつ イメージファイルが選択され拡張子がimg もしくは png を満たした場合に実行できるif文が書けますか?
PHP
1//変数宣言 2 $soundName = $_POST['soundName']; 3 $comment = $_POST['comment']; 4 $mp3fileName = pathinfo($_FILES['file']['name'],PATHINFO_FILENAME); 5 $imgfileName = pathinfo($_FILES['imagefile']['name'],PATHINFO_FILENAME); 6 $imgfileName2 = $_FILES['imagefile']['name']; 7 $fileType = pathinfo($_FILES['file']['name'],PATHINFO_EXTENSION); 8 $fileType2 = pathinfo($_FILES['imagefile']['name'],PATHINFO_EXTENSION); 9 10//エラーチェック 11 if(empty($_POST['soundName'])) { 12 13 $err_msg = '曲名を入力してください。'; 14 15 } 16 17 if(empty($_POST['comment'])) { 18 19 $err_msg1 = 'コメントを入力してください。'; 20 21 } 22 23 if(!is_uploaded_file($_FILES['file']['tmp_name'])) { 24 25 $err_msg2 = 'MP3を選択してください。'; 26 27 } 28 29 if(is_uploaded_file($_FILES['file']['tmp_name'])) { 30 31 if($fileType != 'mp3') { 32 33 $err_msg3 = 'MP3以外のファイルはアップロードできません。'; 34 35 } 36 37 } 38 39 if(!is_uploaded_file($_FILES['imagefile']['tmp_name'])) { 40 41 $err_msg4 = 'サムネイルを選択してください。'; 42 43 } 44 45 if(is_uploaded_file($_FILES['imagefile']['tmp_name'])) { 46 47 if($fileType2 != 'jpg') { 48 49 $err_msg5 = 'jpg/png 以外のファイルはアップロードできません。'; 50 51 } 52 53 } 54 55 if(is_uploaded_file($_FILES['imagefile']['tmp_name'])) { 56 57 if($fileType2 != 'png') { 58 59 $err_msg5 = 'jpg/png 以外のファイルはアップロードできません。'; 60 61 } 62 63 } 64 65 66 if(!empty($_POST['soundName']) && !empty($_POST['comment']) && is_uploaded_file($_FILES['file']['tmp_name']) && $fileType == 'mp3' && is_uploaded_file($_FILES['imagefile']['tmp_name']) && ($fileType2 === 'jpg' or 'png')) { --ここにアップロード処理-- }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/13 17:28
2018/04/13 17:33
2018/04/13 17:40
退会済みユーザー
2018/04/14 00:36
2018/04/14 04:20
退会済みユーザー
2018/04/14 05:46