Laravel Управление путем к файлу - PullRequest
0 голосов
/ 16 апреля 2020

В моём приложении пользователи могут загружать файлы. В моем контроллере у меня есть следующее:

//...
 $request->file->storeAs('/public/user_files',$fileName);

Мне не нравится, как мне нужно жестко кодировать путь /public/user_files, как правильно управлять путями к файлам? Я мог бы просто создать переменную, но есть ли лучшие способы для максимальной ремонтопригодности?

Насколько я понимаю, у меня есть несколько вариантов:

  1. Создать переменную

  2. Создать новый файл в config каталог, который управляет путем

  3. Создайте диск в filesystem.php и используйте storeAs с пользовательским диском

Как лучше всего обрабатывать пути?

Ответы [ 2 ]

2 голосов
/ 16 апреля 2020

В большинстве случаев вам следует использовать диски файловой системы, как вы указали в последнем варианте, это обеспечивает централизованную гибкость.

В этом случае вы можете использовать Laravel помощников, таких как public_path или storage_path, например:

$request->file->storeAs(
    storage_path('app/public'), $fileName
);

В сочетании с символьной c ссылкой, она обеспечивает гибкость в отношении ресурсов c.

https://laravel.com/docs/7.x/filesystem#the -publi c -дисков

0 голосов
/ 16 апреля 2020

вы можете использовать хелпер public_path()

$request->file->storeAs( public_path('/user_files') ,$fileName);

do c: https://laravel.com/docs/7.x/helpers#method -publi c -path

...