📜  为什么将文件上传到PHP时 $_FILES 为空?

📅  最后修改于: 2022-05-13 01:56:12.978000             🧑  作者: Mango

为什么将文件上传到PHP时 $_FILES 为空?

在上传文件或编写代码时,开发人员会犯很多我们大部分时间都无法弄清楚的错误。一些拼写错误,代码中一些被遗忘的部分导致文件上传失败并给出警告或错误。为了避免这种错误,我们应该了解发生的常见错误以便更好地理解。

以下示例有助于我们更好地理解。

示例 1:当我们忘记写enctype=”multipart/form-data” 在表单字段中,那么它不允许我们上传文件,因为这指定我们提交的表单具有文件类型,因此它允许文件上传。

我们不应该忘记输入action=”file_name” 在表单字段中,因为指定提交数据的表单很重要,它接收数据并相应地执行或检索数据的文件。

index.html


  

    

  

    
        Choose a file to upload:                   
             
  


file.php
";
    print_r($_FILES);
    print "
";     echo "\n";        ?>


index.html


  

    

  

    
        Choose a file to upload:                   
             
  


file.php
";
        print_r($_FILES);
        print "
";         echo "\n";     }     else {         echo "Method is not POST";     }       ?>


file.php
 10000) {
  
            echo "Sorry, your file is too large.";
            exit; // stop the PHP script
        }
          
        echo 'file count=', count($_FILES),"\n";
        print "
";
        print_r($_FILES);
        print "
";         echo "\n";     }     else {         echo "Method is not POST";     }       ?>


file.php
";
        print_r($_FILES);
        print "
";         echo "\n";     }     else {         echo "Method is not POST";     }       ?>


文件。 PHP

";
    print_r($_FILES);
    print "
";     echo "\n";        ?>

输出:

当您忘记输入以上内容时

当所有东西都正确插入时

示例 2:当我们忘记在表单字段中输入method=”POST”时,无法上传,因为方法是 POST 很重要,因为 POST 方法用于提交数据。

索引.html



  

    

  

    
        Choose a file to upload:                   
             
  

文件。 PHP

";
        print_r($_FILES);
        print "
";         echo "\n";     }     else {         echo "Method is not POST";     }       ?>

输出:

当我们忘记输入方法后

当所有东西都正确插入时

例3:下面演示执行 当上传的文件大小大于允许的文件大小时。使用示例 1 中使用的“index.html”文件。

文件。 PHP

 10000) {
  
            echo "Sorry, your file is too large.";
            exit; // stop the PHP script
        }
          
        echo 'file count=', count($_FILES),"\n";
        print "
";
        print_r($_FILES);
        print "
";         echo "\n";     }     else {         echo "Method is not POST";     }       ?>

输出:

当尺寸大于预期时

当尺寸小于预期时

示例 4: 以下代码演示了扩展与允许的扩展不匹配时的执行。使用示例 1 中使用的“index.html”文件。

文件。 PHP

";
        print_r($_FILES);
        print "
";         echo "\n";     }     else {         echo "Method is not POST";     }       ?>

输出: