不能在Codeigniter中取消文件链接,如果文件超过10个


Can't unlink file in Codeigniter With File morethan 10 file

public function delete($id){
    $get_img  = $this->db->select('pic1, pic2,pic3,pic4,pic5, pic6,pic7, pic8, pic9, pic10, pic11, pic12')->where('id',$id)->get('napi')->row_array();
    //remove all images
    if($get_img){
        $img = array('pic1','pic2','pic3','pic4', 'pic5', 'pic6', 'pic7', 'pic8', 'pic9', 'pic10', 'pic11', 'pic12');
        foreach($img as $im){
            if($get_img[$im]){
                unlink('assets/pdf/data_napi/'.$get_img[$im]);
            }
        }
    }        
    return $this->db->delete('napi',array('id'=>$id));
}

当我尝试这个代码,工作,但不是全部擦除,请帮助我

可能是路径问题。尝试获取document root,然后构建路径,并使用路径unlink来保存文件。

$path = $_SERVER['DOCUMENT_ROOT'].'/assets/pdf/data_napi/';
f($get_img){
        $img = array('pic1','pic2','pic3','pic4', 'pic5', 'pic6', 'pic7', 'pic8', 'pic9', 'pic10', 'pic11', 'pic12');
        foreach($img as $im){
    if($get_img[$im]){
                unlink($path.$get_img[$im]);
            }
  }
}

在我看来,如果9被删除,它应该删除所有。您可以做一些日志记录来查看正在删除的文件。

public function delete($id){
    $get_img  = $this->db->select('pic1, pic2,pic3,pic4,pic5, pic6,pic7, pic8, pic9, pic10, pic11, pic12')->where('id',$id)->get('napi')->row_array();
    //remove all images
    if($get_img){
        $img = array('pic1','pic2','pic3','pic4', 'pic5', 'pic6', 'pic7', 'pic8', 'pic9', 'pic10', 'pic11', 'pic12');
        foreach($img as $im){
            if($get_img[$im]){
                unlink('assets/pdf/data_napi/'.$get_img[$im]);
                echo '<p>assets/pdf/data_napi/'.$get_img[$im].'</p>'; // to display image that is deleted.
                $this->db->delete('napi',array('id'=>$id));//delete from db.
            }
        }
    }        
    //return $this->db->delete('napi',array('id'=>$id));
    /* as above line returns the control to it's master after deleting one record only.
       so you need to put this line inside loop*/
}