我想检查当表单提交时,$_FILES变量是否为空:我试过这个。
if(!isset($_FILES["icon"])){
echo "Empty File";
#code to assign default icon here
}
还有这个:
if(empty($_FILES["icon"])){
echo "Empty File";
#code to assign default icon here
}
还有这个:
if(count($_FILES["icon"]) == 0){
echo "Empty File";
#code to assign default icon here
}
而这是上面默认的 else条件,它总是执行,这意味着上述条件总是返回false,即使我没有选择一个文件。
else {
echo "File is not empty";
}
有没有其他方法来检查 $_FILES["icon"]
变量在提交时没有值?
注意:在表单中已经设置了变量,并且在提交时,变量没有值。enctype="multipart/form-data"
已在表单中设置,并在提交时通过 POST
这里是提交图标的表单.这个文件是一个php文件,内容是动态添加的,这是一个包含表单的部分。
echo '<form action="' . $_SERVER["PHP_SELF"] . '" method="post" enctype="multipart/form-data">
<input type="file" name="icon"/>Select Icon
<input type="submit" name="upload" value="Upload Icon"/>
</form>';
然后处理表单的代码也在同一个页面中。
if(isset($_POST["upload"]){
if(!isset($_FILES["icon"]){
echo "Empty file":
#code to assign default icon here
else {
$file_gotten = $_FILES["icon];
}
}
原来这个变量的设置其实是因为输入字段,而输入字段是在表单中,但文件的属性,如 $_FILES["icon"]["name"]
, $_FILES["icon"]["tmp_name"]
而所有这些都是空的,因为没有选择任何文件,谢了