Не знаю, поможет вам это или нет.Но я использовал для решения этой проблемы удаления изображения следующим образом.
Я использовал summernote редактор.
Шаги, которые я выполнял при вставке изображений с другимиСодержание:
Собраны все изображения из редактора
$images = $dom->getelementsbytagname('img');
Здесь я получаю изображения в виде base64.вот почему мне нужно было их декодировать и хранить отдельно
$imagePaths = [];
foreach($images as $k => $img){
$data = $img->getattribute('src');
$check_image = substr($data,0,10);
if($check_image != "data:image"){
continue;
}
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
$image_name = time().$k.'.png';
$path = public_path("/").ImagePaths::$BLOG_DETAILS_PICTURE.'/'.$image_name;
file_put_contents($path, $data);
$img->removeattribute('src');
$img->setattribute('src', asset(ImagePaths::$BLOG_DETAILS_PICTURE.'/'.$image_name));
$imagePaths[] = $path; // This path for store in DB
}
Когда я удаляю или обновляю контент, я просто удаляю все изображения, которые я получил в массиве $imagePaths
ранее и сохранил.
Когда я работал над этим, я следовал этой документации
Здесь я поделился полным сценарием контроллера.