Else语句变量无法在PHP中存储数据

时间:2019-03-04 05:43:21

标签: php

if(isset($_FILES['image'])) {
    $file_name = $_FILES['image']['name'];

    if($file_size > 2097152){
       $errors[]='File size must be excately 2 MB';
    }

    if(empty($errors) == true){
        move_uploaded_file($file_tmp,"../img/images/".$file_name);
    }

} else {
    $file_name = $db_con->escape_string($_POST['image_old']); // Why this data will not stored in the file_name variable?
}

1 个答案:

答案 0 :(得分:1)

  

为什么这些数据不会存储在file_name变量中?

因为isset($_FILES['image'])在表单输入中始终为true,即使没有附加文件。

如果要检查空白图像的情况,则需要对输入图像进行计数。

最简单的方法是用!empty($_FILES['image'])的{​​{1}} intead检查数组中元素的数量

但是您也可以检查输入图像是否正确,然后转到isset($_FILES['image'])语句。

例如:

else