doulao3078 2018-03-21 06:07
浏览 16
已采纳

更新表单详细信息后获取空白图像

In this code when I navigate to the update form I get all the details as per database but when I update the form without selecting the image file it shows blank in the table.

if (isset($_POST['update_sub_categories']))
    {
    $file = $_FILES['Subcategory_image']['tmp_name'];

    this are the conditions for update images
    if (file_exists($file))
        {
        $errors = array();
        $maxsize = 2097152;
        $acceptable = array(
            'image/jpeg',
            'image/jpg',
            'image/gif',
            'image/png'
        );
        if (($_FILES['Subcategory_image']['size'] >= $maxsize) || ($_FILES["Subcategory_image"]["size"] == 0))
            {
            $errors[] = 'File too large. File must be less than 2 megabytes.';

            // code...

            }

        if (!in_array($_FILES['Subcategory_image']['type'], $acceptable) && (!empty($_FILES["Subcategory_image"]["type"])))
            {
            $errors[] = 'Invalid files type. Only JPG, GIF and PNG types are accepted';
            }
        }

Conditions end at this point if no errors are found, the file will be uploaded

    if (count($errors) === 0)
        {
        move_uploaded_file($_FILES['Subcategory_image']['tmp_name'], 'images/categories/' . $_FILES['Subcategory_image']['name']);
        $Subcategory_image = $_FILES['Subcategory_image']['name'];

        // code...

        $m->set_data('Category_id', $Category_id);
        $m->set_data('Subcategory_description', $Subcategory_description);
        $m->set_data('Subcategory_name', $Subcategory_name);
        $m->set_data('Subcategory_image', $Subcategory_image);
        $a = array(
            'Category_id' => $m->get_data('Category_id') ,
            'Subcategory_description' => $m->get_data('Subcategory_description') ,
            'Subcategory_name' => $m->get_data('Subcategory_name') ,
            'Subcategory_image' => $m->get_data('Subcategory_image') ,
        );
        $q = $d->update("sub_categories", $a, "Subcategory_id='$Subcategory_id'");
        if ($q > 0)
            {
            header("location:Manage_subcategories.php");
            }
          else
            {
            echo "Error";
            }
        }
      else
        {
        header("location:Manage_subcategories.php?msg=invalidfile");
        }
    }

So how can i solve this? When i click on the submit button without selecting any image files it shows blank at the table and it does not show the image that is already available

  • 写回答

2条回答 默认 最新

  • dptn69182 2018-03-21 07:30
    关注

    You have to put this condition

        $Subcategory_image ="";
            if($Subcategory_id){
               $sql = $d->select("sub_categories", "Subcategory_id="$Subcategory_id);
    if($sql->num_rows>0){
            $data=mysqli_fetch_array($sql); 
            $Subcategory_image = $data["Subcategory_image"];
    }
            }
                $check = getimagesize($_FILES["Subcategory_image"]["tmp_name"]);
                if($check!=false){
                 move_uploaded_file($_FILES['Subcategory_image']['tmp_name'], 'images/categories/' . $_FILES['Subcategory_image']['name']);
                 $Subcategory_image = $_FILES['Subcategory_image']['name'];
                 $m->set_data('Subcategory_image', $Subcategory_image);
                }
                 $m->set_data('Category_id', $Category_id);
                 $m->set_data('Subcategory_description', $Subcategory_description);
                 $m->set_data('Subcategory_name', $Subcategory_name);
    

    also assign existing image to $Subcategory_image before this condition so that if file control is empty it get old image else of making old image field empty in db table

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?