0

PHPでは、ファイルをアップロードするためのコードが次のようになっています

 $image_name= $_FILES['file']['name'];
  $allowedExts = array("gif", "jpeg", "jpg", "png");
  $temp = explode(".", $_FILES["file"]["name"]);
  $extension = end($temp);
  if ((($_FILES["file"]["type"] == "image/gif")
  || ($_FILES["file"]["type"] == "image/jpeg")
  || ($_FILES["file"]["type"] == "image/jpg")
  || ($_FILES["file"]["type"] == "image/pjpeg")
  || ($_FILES["file"]["type"] == "image/x-png")
  || ($_FILES["file"]["type"] == "image/png"))
  && in_array($extension, $allowedExts)) {
    if ($_FILES["file"]["error"] > 0) {
      echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
    else {
     move_uploaded_file($_FILES['file']['tmp_name'], $tmpName.$image_name);
    }
  }

アップロードを行っているときに、このコードが正常に機能するようになりました。ただし、ファイルタイプの検証では機能しません。$allowedExts = array("gif", "jpeg", "jpg", "png"); to use only these types of file to upload. But this one is uploading any files type. So can someone kindly tell me where is the wrong part here. I want to upload only「gif」、「jpeg」、「jpg」、「png」ファイルのみを使用しました。 どんな助けや提案も本当に感謝します。ありがとう。

4

1 に答える 1