// 批量删除
public function del_uploadsimg()
{
$del_type = 'img_id';
$img_ids = input('img_id/a');
foreach ($img_ids as $key => $val) {
if (!is_numeric($val)) {
$del_type = 'image_url';
$val = mchStrCode($val, 'DECODE');
if (empty($val) || !preg_match("/^([\w\-\/\.]+)\.(".str_replace(',', '|', $this->image_type).")$/i", $val)) {
unset($img_ids[$key]);
}
} else {
$val = intval($val);
}
$img_ids[$key] = $val;
}
if (IS_POST && !empty($img_ids)) {
if ('image_url' == $del_type) {
foreach ($img_ids as $key => $val) {
$rs = @unlink(ROOT_PATH.$val);
}
} else {
$rs = Db::name('uploads')->where("img_id", 'IN', $img_ids)->delete();
// $rs = Db::name('uploads')->where("img_id", 'IN', $img_ids)->update(['is_del' => 1, 'update_time'=>getTime()]);
}
if ($rs !== false) {
$this->success("删除成功");
}
}
$this->error("删除失败");
}
这是图片删除的php代码 ,看上去好像能实际把图片从服务器上删除,但是实际上只能删除数据库的记录,图片仍然存在。 $rs = @unlink(ROOT_PATH.$val); 这个地址用的对吗