检查提交时$_FILES变量是否为空,例如:variableIsEmpty($_FILES["icon"])

问题描述 投票:0回答:1

我想检查当表单提交时,$_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];
    }
}
php file isset
1个回答
0
投票

原来这个变量的设置其实是因为输入字段,而输入字段是在表单中,但文件的属性,如 $_FILES["icon"]["name"], $_FILES["icon"]["tmp_name"] 而所有这些都是空的,因为没有选择任何文件,谢了

© www.soinside.com 2019 - 2024. All rights reserved.