Я создаю контент, используя summernote в laravel. Когда я удаляю контент, изображения в папке не удаляются. И когда я обновляю контент, изображение не заменяется, но добавляются новые изображения.
Я загружен Контроллер.
MyController
public function update($id, Request $request)
{
$this->validate($request, [
'judul' => 'required',
'isi_berita' => 'required|unique:news'
]);
$news = News::find($id);
$isi_berita = $request->input('isi_berita');
$dom = new \DOMDocument();
$dom->loadHtml($isi_berita, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$images = $dom->getElementsByTagName('img');
foreach($images as $img){
$src = $img->getAttribute('src');
if(preg_match('/data:image/', $src)){
preg_match('/data:image\/(?<mime>.*?)\;/', $src, $groups);
$mimetype = $groups['mime'];
$filename = uniqid();
$filepath = ("uploads/news/$filename.$mimetype");
$image = Image::make($src)->encode($mimetype, 100)->save(public_path($filepath));
$new_src = asset($filepath);
$img->removeAttribute('src');
$img->setAttribute('src', $new_src);
}
}
$isi_berita = $dom->saveHtml();
$news->judul = $request->judul;
$news->slug = Str::slug($request->judul);
$news->isi_berita = $request->isi_berita;
$news->save();
alert()->success('Sukses','Berita Berhasil Diupdate');
return redirect()->route('news');
}
public function destroy($id)
{
$news = News::find($id);
$path = public_path('uploads/news/' . $news->isi_berita);
unlink($path);
$news->delete();
alert()->success('Sukses','Berita Berhasil Dihapus');
return redirect()->route('news');
}
Я надеюсь чтобы найти решение, спасибо.