Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从根文件夹取消多个图像的链接_Php_Image_Codeigniter_Unlink - Fatal编程技术网

Php 从根文件夹取消多个图像的链接

Php 从根文件夹取消多个图像的链接,php,image,codeigniter,unlink,Php,Image,Codeigniter,Unlink,我正在尝试使用以下逻辑删除和取消链接多个图像: 单击从视图中删除,要删除的图像的id将传递给控制器 从控制器使用get方法获取id,并发送到模型以检查数据库中的相关图像 从模型中,若存在,将图像列表保存到数组中,并发送回模型以继续取消链接 返回控制器,foreach图像取消链接 如果取消链接成功,请继续从数据库中删除图像 我的控制器 $imageToDelete = $this->Wallpaper_model->loadImage(); $path = $_SERVER['DOC

我正在尝试使用以下逻辑删除和取消链接多个图像:

  • 单击从视图中删除,要删除的图像的id将传递给控制器
  • 从控制器使用
    get方法获取
    id
    ,并发送到模型以检查数据库中的相关图像

  • 从模型中,若存在,将图像列表保存到数组中,并发送回模型以继续取消链接

  • 返回控制器,foreach图像取消链接

  • 如果取消链接成功,请继续从数据库中删除图像

  • 我的控制器

    $imageToDelete = $this->Wallpaper_model->loadImage();
    
    $path = $_SERVER['DOCUMENT_ROOT']."uploads/";
    
    foreach ($imageToDelete as $deletRow) {
    
        unlink($path.$deletRow);
    
    }
    
    我的模型

    public function loadImage(){
        $this->db->select('image');
        $this->db->from('tblimg');
        $this->db->where('groupid', $this->getId());
    
        $query = $this->db->get();
        $data = $query->result_array();
        if($data != null){
            return $data;
        } else {
            return false;
        }
    }
    
    使用这些编码,我在控制器中的
    取消链接
    时出错,
    $deleteRow
    生成的
    数组
    ,如下引号所示

    消息:取消链接(根文件夹位于此处/数组):没有此类文件或 目录

    从文件夹中取消图像链接的正确方法是什么?多谢各位

    编辑

    打印数组($imageToDelete)
    结果:

    Array
    (
        [0] => Array
            (
                [image] => 5948db352524e.jpg
            )
    
        [1] => Array
            (
                [image] => 5948db352524e1.jpg
            )
    
        [2] => Array
            (
                [image] => 5948db352524e2.jpg
            )
    
    )
    

    $deletRow
    是数组。您的查询返回groupid上的多行

    使用


    因此,先做一个
    print\r($imageToDelete)以了解您正在处理的内容,因为它显然不是您希望的内容。然后将结果添加到您的question@RiggsFolly我确实打印了
    $imageToDelete
    ,它显示了所有图像列表。但是当我输入foreach时,显示名称为
    Array
    的错误显示
    print\r($imageToDelete)的结果您的代码是正确的,请使用我的答案。@VK321让我先试试。
    
    // column name from db
    $deletRow['image']