为什么将文件上传到PHP时 $_FILES 为空?
在上传文件或编写代码时,开发人员会犯很多我们大部分时间都无法弄清楚的错误。一些拼写错误,代码中一些被遗忘的部分导致文件上传失败并给出警告或错误。为了避免这种错误,我们应该了解发生的常见错误以便更好地理解。
以下示例有助于我们更好地理解。
示例 1:当我们忘记写enctype=”multipart/form-data” 在表单字段中,那么它不允许我们上传文件,因为这指定我们提交的表单具有文件类型,因此它允许文件上传。
我们不应该忘记输入action=”file_name” 在表单字段中,因为指定提交数据的表单很重要,它接收数据并相应地执行或检索数据的文件。
index.html
file.php
";
print_r($_FILES);
print "
";
echo "\n";
?>index.html
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
文件。 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";
}
?>
输出: