【发布时间】:2017-11-23 01:02:21
【问题描述】:
我正在尝试使用此逻辑删除和取消链接多个图像:
- 点击从视图中删除,
id要删除的图像将传递给控制器 从控制器使用
get method获取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;
}
}
使用这些编码,我在控制器中的unlink 处出现错误,其中$deleteRow 导致Array 如下引号。
消息:unlink(root-folder-goes-here/Array): 没有这样的文件或 目录
从文件夹中取消链接图像的正确方法是什么?谢谢。
编辑
print_array($imageToDelete) 结果:
Array
(
[0] => Array
(
[image] => 5948db352524e.jpg
)
[1] => Array
(
[image] => 5948db352524e1.jpg
)
[2] => Array
(
[image] => 5948db352524e2.jpg
)
)
【问题讨论】:
-
所以首先通过
print_r($imageToDelete);找出您正在处理的内容,因为它显然不是您希望的那样。然后将结果添加到您的问题中 -
@RiggsFolly 我确实打印了
$imageToDelete,它显示了所有图像列表。但是当我放入 foreach 时,错误显示名称为Array -
向我们展示
print_r($imageToDelete);的结果 -
你的代码是正确的使用我的答案。
-
@VK321 让我先试试吧。
标签: php image codeigniter unlink