CodeIgniter:如何从文件夹中删除上传的图像

时间:2015-04-30 15:45:02

标签: php image codeigniter

我不仅要删除数据库中的图像,还要删除文件夹中的图像。

这是我的数据库表:

    public function delete_group()
    {
            $group_id = $this->input->post('group_id');
            $group_picture = $this->input->post('group_picture');

            $this->group_model->delete_group($group_id, $group_picture);
            redirect('product_group');
    }

这是我的控制者:

        function delete_group($group_id, $group_picture)
        {
                $this->db->where('group_id', $group_id);

                unlink(base_url("uploads/".$group_picture));

                $this->db->delete('product_group', array('group_id' => $group_id));
        }

这是我的模特:

 <?=form_open_multipart('product_group/delete_group');?>

   <input type="hidden" class="form-control" placeholder="Group ID" name="group_id">
   <input type="text" class="form-control" placeholder="Group ID" name="group_picture">

  <div class="modal-footer">
     <button data-dismiss="modal" class="btn btn-default" type="button">Cancel</button>
     <button class="btn btn-success" type="submit">Submit</button>
   </div>
 </form>

这是我的观点:

public function ancestors()
{
    $ancestors = $this->where('id', '=', $this->parent_id)->get();

    while ($ancestors->last() && $ancestors->last()->parent_id !== null)
    {
        $parent = $this->where('id', '=', $ancestors->last()->parent_id)->get();
        $ancestors = $ancestors->merge($parent);
    }

    return $ancestors;
}

我成功删除了数据库中的数据,但文件夹中的图像也不会被删除。

感谢您的帮助:)

6 个答案:

答案 0 :(得分:13)

unlink(base_url("uploads/".$group_picture));

应该是

unlink("uploads/".$group_picture);

您需要路径,而不是网址。

答案 1 :(得分:2)

使用CI常量FCPATH作为根目录的位置,因此在您的情况下应该是:

unlink( FCPATH . "uploads/" . $group_picture );

请注意FCPATH已经有尾随斜杠。

答案 2 :(得分:1)

要删除文件/图片,您可以使用delete_files()功能。首先加载文件助手,然后将文件路径作为delete_files()函数中的第一个参数传递,将true作为第二个传递。< - p>

delete_files($path, true);

答案 3 :(得分:0)

在你身上使用FCPATH删除功能

unlink(FCPATH."uploads/".$image);

答案 4 :(得分:0)

您只需要提供从文件夹开始的目录名称,而不是 base_url

的unlink(“上传/组/图像/".$ group_picture);

答案 5 :(得分:0)

    unlink(FCPATH.'uploads/userprofile/'.$oldImage->profileimage);