下記のコードにて、分からない部分がある為、教えて頂きたいです。
PHPのバージョンは、「7.3.1」です。
サーバーは、「xampp」を使用しています。
php
1<?php 2 3$msg = null; 4error_reporting(E_ALL); 5ini_set("display_errors",1); 6 7if(isset($_FILES['image']) && is_uploaded_file($_FILES['image']['tmp_name'])){ 8 $old_name = $_FILES['image']['tmp_name']; 9 $new_name = date("YmdHis"); 10 $new_name .= mt_rand(); 11 switch (exif_imagetype($_FILES['image']['tmp_name'])){ 12 case IMAGE_TYPE_JPEG: 13 $new_name .= 'jpg'; 14 break; 15 case IMAGE_TYPE_PNG: 16 $new_name .= 'gif'; 17 case IMAGE_TYPE_PNG: 18 $new_name .= '.png'; 19 break; 20 default: 21 header('Location:upload.php'); 22 exit(); 23 } 24 25 if(move_uploaded_file($old_name,'album/' . $new_name)){ 26 $msg = 'アップロードしました。'; 27 }else{ 28 $msg = 'アップロードできませんでした'; 29 } 30 var_dump($msg); 31}else{ 32 echo 'エラーです'; 33} 34?> 35<html> 36 <head> 37 <meta charset="utf-8"> 38 <title>交流サイト:画像アップロード</title> 39 </head> 40 <body> 41 <h1>交流サイト:画像アップロード</h1> 42 43 <p><a href="album.php">アルバム</a></p> 44 45 <p><a href="index.php">トップページに戻る</p> 46 47 <?php if($msg){echo '<p>' . $msg . '</p>';} ?> 48 49 <form action="upload.php" method="post" enctype="multipart/form-data"> 50 51 <input type="file" name="image"> 52 53 <input type="submit" value= "アップロード"> 54 55 </form> 56 </body> 57</html> 58
上記コードにおきまして、アップロードを行う画像を選択し、送信ボタンを押したのですが、画像が正常にアップロードできません。そもそも「if(isset($_FILES['image']) && is_uploaded_file($_FILES['image']['tmp_name'])){」ここの部分で「false」になってしまうのですが、POSTされていないということなのでしょうか?原因が分からない為、教えて頂けましたら幸いです。よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー