Удалить изображения, где путь к изображению сохраняется с путем в базе данных - PullRequest
0 голосов
/ 19 марта 2020

Я загружаю изображение и при сохранении в базу данных добавляю путь к местоположению вместе с именем файла.

Например: product / name / L4I84qXltYvCCDsAeQzi7fzZfKF3WTRa1LPOPGxj.jpeg

Зачем добавлять местоположение, где я могу вызывать их через asset ()? Таблица также используется приложением API, для которого требуется следующий формат URL.

Мой контроллер Cdde

  //! Product Image
        if ($request->hasFile('product_image')) {
            $product_image = $request->file('product_image');
            $product_image_extension = $product_image->getClientOriginalExtension();
            $product_image_filename =  Str::slug($request->input('product_code')) .  '.' . Str::random(3) . "." . $product_image_extension;
            $product_image_location = public_path('assets/products/' . $product_image_filename);
            Image::make($product_image)->resize(300, 300)->save($product_image_location);
        }

Products::create([
//Other Fields 
            'image' => 'assets/products/' . $product_image_filename
        ]);

Мне интересно, как мне удалить изображение и добавить новое изображение

Для сравнения мне нужно имя файла изображения. Поскольку я использую путь, я получаю путь с префиксом к имени изображения.

Ответы [ 2 ]

0 голосов
/ 19 марта 2020
 use File; 

  @unlink(public_path() . 'uploads/documents/' . $users->document1);
0 голосов
/ 19 марта 2020
use Illuminate\Support\Facades\File 



$image_path = "/images/filename.ext";  // Value is not URL but directory file path
    if(File::exists($image_path)) {
        File::delete($image_path);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...