Php 取消链接(..):codeigniter中没有这样的文件或目录
我使用的是codeigniter3。现在我想删除记录以及相关图像,但记录已删除,但它不会从文件夹中删除图像。每个记录有3个图像Php 取消链接(..):codeigniter中没有这样的文件或目录,php,codeigniter,unlink,Php,Codeigniter,Unlink,我使用的是codeigniter3。现在我想删除记录以及相关图像,但记录已删除,但它不会从文件夹中删除图像。每个记录有3个图像 public function delete_by_id_and_img($id) { $image_file_name = $this->db->select('material_image')->get_where('tbl_raw_material', array('id' => $id))->row()->material
public function delete_by_id_and_img($id) {
$image_file_name = $this->db->select('material_image')->get_where('tbl_raw_material', array('id' => $id))->row()->material_image;
$cwd = getcwd(); // save the current working directory
$image_file_path = $cwd."\\public\img\\";
chdir($image_file_path);
unlink($image_file_name);
chdir($cwd); // Restore the previous working directory
$this->db->where('id', $id);
$this->db->delete('tbl_raw_material');
return true;
}
您可以使用以下内容:
$image_file_path='/project/folder/file_to_delete';
unlink($image_file_path);
您必须给出文件的完整路径。我不确定,但您的路径中public之前和img之后的两个\的语法是否正确
$image_file_path = $cwd."\\public\img\\";
还要检查/这是否适用于您,因为\我认为是针对linux的从文件夹中删除文件-拒绝访问文件,因此请更改用户,然后取消文件链接
chown($path, 666); //Insert an Invalid UserId to set to Nobody Owern;
unlink($path);
您必须提供完整的目录路径以使用FCPATH或base_url()进行内联只要检查:
如果(取消链接($image_file_name)){…$this->db->delete('tbl_raw_material');…}
不确定localhost
是有效的目录,它使用的是操作系统文件系统,而不是network@DanielKrom它只是为了理解而添加的。已更新。我认为有两个文件(文件1、文件2、文件3)存在问题,我不确定是否取消链接删除多个文件。是否在print\r()中选中$image\u file\u name以查看您得到了什么?