@KuzmenkoArtem

Как изменить префикс для local storage диска в laravel на лету?

Сделал сервис провайдер, засунул туда следущее
config(["filesystems.default" => 'local']);
config(["filesystems.disks.local.root" => 'newroot']);


Но реакции ни какой... Сохраняет в ту директорию которая указана в config/filesystems.php

В тоже время, когда я ставлю s3 как дефолтный диск, все работает
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 1
andreybold
@andreybold
Сделал сервис провайдер, засунул туда следущее

засунули в boot или register?
Могу ошибаться, но такие вещи лучше ставить в register.
У вас, скорее всего сторедж (или то, где вы используете фс) скорее всего уже загрузился в сервис-контейнер с настройками из конфига. И тут, как мне кажется, есть несколько вариантов:
  • записать эти строки в register провайдера, а сам провайдер поставить до провайдера, который регистрирует сторедж
  • Попробовать «достучаться» до стореджа и передать ему новые настройки
  • Либо везде юзать что-то вроде такого: \Storage::disk('local1');, а уже в настроки диска local1 прописать то, что нужно

P.S. я не гуру laravel'а и могу что-то не то посоветовать. Изучаю/работаю с ним всего лишь 2,5 года...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы