首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在codeIgniter框架中删除记录后从图像目录中删除图像?

如何在codeIgniter框架中删除记录后从图像目录中删除图像?
EN

Stack Overflow用户
提问于 2014-12-16 09:50:15
回答 4查看 701关注 0票数 0

我想删除一个或多个产品类别的形式tbl_category。

  • category_id,category_name,.,category_image --这些都是数据库字段。
  • 我的问题是,当我删除该项目时,它就会从数据库中完全删除,但是这个图像仍然保留在目录中。 i,e base_url.‘/图像/类别_图像/’。 我该怎么做呢?需要帮助。

这是控制器的代码:

代码语言:javascript
复制
      public function manage_product_category()
    {
        $data=array();
        $data['all_product_category']=  $this->ehome_model-  >select_all_product_category();
        $data['admin_maincontent']=$this->load->view('admin/view_product_category',$data,true);
        $this->load->view('admin/admin_master',$data);   
    }
    public function delete_product_category($category_id)
    {
        $this->super_a_model->delete_product_category_by_category_id($category_id);
        redirect('super_admin/manage_product_category');
    }

这个模型代码:

代码语言:javascript
复制
     public function delete_product_category_by_category_id($category_id)
    {
        $this->db->where('category_id',$category_id);
        $this->db->delete('tbl_category');
    }
EN

回答 4

Stack Overflow用户

发布于 2014-12-16 10:23:10

您需要使用unlink php方法:http://php.net/manual/it/function.unlink.php

代码语言:javascript
复制
$path = base_url.'./images/category_images/'.$file_name;
unlink($path);

确保设置正确的$file_name,如果没有,只需对数据库运行一个查询,以便在之前获取文件名以删除该行。

票数 0
EN

Stack Overflow用户

发布于 2014-12-16 11:48:56

检查这个链接单击此处

代码语言:javascript
复制
$this->load->helper("file");
delete_files($path);
票数 0
EN

Stack Overflow用户

发布于 2014-12-20 05:46:55

首先,您必须有一个img_url字段,或者根据您的table.Then中的要求,在第一步中,您需要像这样从表中获取img_url,然后从目录中删除这个字段,

代码语言:javascript
复制
//write this function in your_controller
function delete($your_id)
    {
        $img_url = $this->your_model->get_image_url($your_id);//this will get the img_url from your_ model 
        unlink($img_url);   //this will delete the image from your directory

        $this->your_model->delete_image_record($your_id); //this will delete the record from the table

    }
//write the following functions in your_model
function get_image_url($your_id)
    {
        $this->db->select('your_img_url');
        $this->db->from('your_table');
        $this->db->where('your_id',(int)$your_id);
        $query = $this->db->get();
        if($query->num_rows() == 1) return $query->row()->your_img_url;
        else return NULL;

    }
function delete_image_record($your_id)
    {
        $this->db->where("$your_id",(int)$your_id);
        $this->db->delete('your_table');
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27501758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档