Laravel — настройка хранилища в другом каталоге, где находится проект

#php #laravel #laravel-5 #laravel-6 #laravel-7

#php #laravel #laravel-5 #laravel-6 #laravel-7

Вопрос:

У меня есть проект, расположенный по этому пути /var/www/html/backend/api_cars

У меня есть хранилище, настроенное для хранения определенных файлов в «общедоступной» папке, но теперь мне нужно будет загружать файлы (для этого я использую dropzone js), с той особенностью, что при загрузке они должны быть скопированы в каталог, который не входит в проект,

Его путь /var/www/html/images/catalog/cars

Мой вопрос в том, как я могу это сделать с помощью laravel, я попытался настроить «хранилище» типа «папка», но это выдает ошибку.

В файле config/filesystems.php Я создал это

    'public' => [
    'driver' => 'images-cars',
    'root' => storage_path('/var/www/html/images/catalog/cars'),
    'url' => env('APP_URL').'/catalog-cars',
    'visibility' => 'public',
],
  

Это произошло o создайте «символическую ссылку» в папке проекта на другую папку, но я не знаю, сработает ли это.

Заранее спасибо.

Комментарии:

1. Вместо использования 'root' => storage_path('/var/www/html/images/catalog/cars'), попробуйте изменить это на 'root' => /var/www/html/images/catalog/cars', . и убедитесь, что пользователь, запускающий веб-сервер, имеет доступ к каталогу cars.

Ответ №1:

Вы можете перенаправить в нужную вам папку, используя public_path функцию, подобную приведенной ниже:

 'public' => [
    'driver' => 'public',
    'root' => public_path('../../images/catalog/cars'),
    'visibility' => 'public',
],