如何删除多个文件(codeigniter),根据具体的ID?

问题描述 投票:0回答:1

你好,我目前正在尝试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");
    }
}

非常感谢帮助,谢谢。

实际结果是:

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




mysql codeigniter codeigniter-3
1个回答
2
投票

我认为你的代码应该如此

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

你错过了索引,它变成了一个数组,但是那里有字符串

© www.soinside.com 2019 - 2024. All rights reserved.