首页 文章

如何检查是否设置了$ _POST [image]

提问于
浏览
-1

重新询问how to check if $_POST[FILE] isset我有一个文件输入,如果我提交没有图像的表单我想要发生一些事情,如果我在输入中上传了一个文件,我希望发生一些不同的事情 .

if (!isset($_POST[image])) { }

无论我是否在输入中上传了文件,似乎都会触发 .

<label>
    <p>Profile Picture:</p>
    <input type="file" name="image" value="" />
</label>

我的上一个问题被标记为这个答案的副本Check whether file is uploaded

if (!file_exists($_FILE['image'])) { }

没有工作,即使上传图像,它仍然显示真实 . 所以不是我需要的答案 .

1 回答

  • 1

    要检查是否上传了文件,您需要检查文件的大小 .

    然后检查它的图像是否需要使用getimagesize()函数 . 请参阅下面的脚本:

    HTML:

    <form action="index.php?act=s" method="post" enctype="multipart/form-data">
    <input type="file" name="image" id="image" value=""/>
    <input type="submit">
    </form>
    

    PHP:

    <?php  
    if(isset($_GET['act'])){
        // Check if there is a file uploaded
        if($_FILES["image"]["size"]>0){
            echo "There is a file uploaded<br>";
            // Check if its an image
                $check_if_image = getimagesize($_FILES["image"]["tmp_name"]);
                if($check_if_image !== false) {
                    echo "Image = " . $check_if_image["mime"] . ".";            
                } else {
                    echo "Not an image";            
                }
        }
        else{
            echo "There is NO file uploaded<br>";
        }   
    }   
    ?>
    

相关问题