【问题标题】:PHP ignores file upload restrictionsPHP 忽略文件上传限制
【发布时间】:2022-01-05 16:52:32
【问题描述】:

我想在上传文件时做出 3 项限制 它工作的程序和文件上传,但由于某种原因,他们忽略了已经做出的限制并存储了所有文件

<?php
      if ($_FILES["uploadedFile"]["size"] < 3000000){
      if ((strlen($_FILES["uploadedFile"]["name"])<=50) && (!ctype_lower($_FILES["uploadedFile"]["name"]))){         //The original file name must not exceed 50 characters
          
          $acceptedFileTypes = ["image/gif", "image/jpg", "image/jpeg","image/png"];
          $fileinfo = finfo_open(FILEINFO_MIME_TYPE);
          $uploadedFileType = finfo_file($fileinfo, $_FILES["uploadedFile"]["tmp_name"]);
         

          if(in_array($uploadedFileType, $acceptedFileTypes))
          {
              if ($_FILES["uploadedFile"]["error"] > 0)
              {
                  echo "Error: " . $_FILES["uploadedFile"]["error"] . "<br />";
              }else{
                  echo "Upload: " . $_FILES["uploadedFile"]["name"] . "<br />";
                  echo "Type: " . $uploadedFileType . "<br />";
                  echo "Size: " . ($_FILES["uploadedFile"]["size"] / 1024) . " Kb<br />";
                  echo "Stored in: " . $_FILES["uploadedFile"]["tmp_name"];
                  if (file_exists("upload/" . $_FILES["uploadedFile"]["name"])){
                      echo $_FILES["uploadedFile"]["name"] . " already exists. ";
                  }else{
                      //If the file does not exist, transfer the file from the temporary folder to the upload folder using the original upload name
                      if(move_uploaded_file($_FILES["uploadedFile"]["tmp_name"], "upload/". $_FILES["uploadedFile"]["name"])){
                          echo "Stored";
                      }else{
                          echo "Something went wrong while uploading.";
                      }
                  }
              }


        }else{
            echo "Invalid file type. Must be gif, jpg or jpeg.";
        }



  }else{
        echo "The file name must not exceed 50 characters";
  }

  }else{
            echo "Invalid file size. Must be less than 3MB.";
        }

?>

我希望程序只上传小于 3MB 的文件 并存储少于 50 个字符且名称中至少包含 1 个大写字母的图像

【问题讨论】:

    标签: php file


    【解决方案1】:

    您是否收到 403 错误最大上传大小? 如果是这样,您必须更改 php.ini 文件中的最大文件上传大小

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多