如何根据特定的ID删除多个文件(codeigniter)?

时间:2019-02-15 11:21:02

标签: mysql codeigniter codeigniter-3

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

/**
 * 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");
    }
}

感谢您的帮助。

实际结果是:

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




1 个答案:

答案 0 :(得分:2)

我认为您的代码应该

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

您错过了索引,索引变成了数组,但是在那里应该有字符串