unlink显示不存在的错误

时间:2018-02-04 20:02:04

标签: php codeigniter

我正在尝试从服务器删除图像,但unlink显示的错误根本不是错误。我的代码如下:

private function delete_image($ad_id){
    $this->load->helper('file');
    $sql = "SELECT image1,image2,image3 from ads where AdId = ?";

    $query = $this->db->query($sql,array($ad_id));
    //for fetching result 
    $result = $query->result_array();
    //to make a array of all images
    $img = [$result[0]['image1'],$result[0]['image2'],$result[0]['image3']];
    $i = 0;
    while ($img[$i]!= "edubuylogo.png" && $i<3){
        unlink('./uploads/'.$img[$i]);
        $i++;  
    }   
}

,图片链接为http://localhost/edubuy/uploads/IMG_20180120_210433.jpg

图像完全加载。 错误是消息:

  

取消关联(/uploads/IMG_20180120_210433.jpg):没有这样的文件或目录

1 个答案:

答案 0 :(得分:2)

您的计算机似乎很困惑,您应该指定绝对路径。在CodeIgniter中,您可以使用FCPATH常量,所以这样做:

unlink( FCPATH . 'uploads/' . $img[$i] );

这假设你的index.php文件在edubuy里面。如果不是那样的话:

unlink( FCPATH . 'edubuy/uploads/' . $img[$i] );