首页 > 解决方案 > 如何根据特定的ID删除多个文件(codeigniter)?

问题描述

您好,我目前正在尝试unlink()从具有特定类别 ID 的文件夹中获取多个文件,获取正确的文件(名称)没有问题,以及如何取消链接我也知道的文件,但是我很难从结果数组中循环查询,然后删除不是所有文件,而是从查询中删除那些文件,这是我的代码:

/**
 * delete category by id
 * @param $id category_id
 * @return boolean 
 */
public function delete_images($id){

    $this->db->select('post_image');
    $query = $this->db->get_where('posts', array('category_id' => $id));
    $images = $query->result_array();

    if (!empty($images)){
      if(!in_array('default_image', $images)){
        foreach ($images as $image) { 
            unlink(FCPATH . 'assets/images/posts/' . $image);
        }
      }
    } else {
      $this->db->query("DELETE FROM categories WHERE categories.id = $id");
    }
}

帮助是appreaciated,谢谢。

实际结果是:

Message: Array to string conversion
Filename: models/Category_model.php
Line Number: 71




标签: mysqlcodeignitercodeigniter-3

解决方案


我认为你的代码应该喜欢

unlink('assets/images/posts/' . $image['post_image']);

你错过了索引 & 它变成了一个数组,但字符串应该在那里


推荐阅读