print_r()函数显示值,但我无法访问它们作为条件

时间:2018-09-02 01:25:12

标签: php forms file-upload

好,我很困惑。我正在尝试学习如何在PHP中上传图片文件。

<form name="add_form" action="submit.php" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<button type="submit">Submit</button>
</form>

在Submit.php文件中:

print_r($_FILES);
    if(empty($_FILES['file']['name'])){
        echo "empty";
    }else{
        echo "not empty";
    }

print_r($ _ FILES);告诉我这个:

Array ( [image] => Array ( [name] => van Gogh - GalleryPlayer.jpg [type] => image/jpeg [tmp_name] => /tmp/phpbYjG7m [error] => 0 [size] => 1437795 ) ) 

但是当我使用(empty($ _ FILES ['file'] ['name']))运行if / else时,它总是回显“ empty”。如果它在print_r($ _ FILES)数组中怎么能为空?

我在这里的最终目标是检查用户是否上传了图像文件(这是较大表格的一部分)。如果他们这样做,请使用它。如果不是,请使用默认图像。所以我只是想测试表单字段的存在。有道理吗?

感谢您可能提供的任何见解。

干杯!

1 个答案:

答案 0 :(得分:-1)

$ _ FILES ['image'] ['name']没问题。再试一次。然后以类似的方式访问其他字段