Введение в файловое хранилище в Laravel
На сайте часто появляются файлы
от пользователей: аватар в профиле,
документ к заявке, картинка к посту.
Их нельзя просто «положить куда-нибудь»
в public вручную. Имена
могут совпасть, путь легко забыть,
а потом непонятно, где искать файл
и как отдать его браузеру.
В Laravel для этого есть
файловое хранилище.
Файлы пишут не «в папку наугад»,
а на диск - именованную
настройку: куда сохранять и как
потом читать. Диски настраивают
в config/filesystems.php.
Обычно хватает двух дисков.
local - для закрытых файлов
(договоры, паспорта): из браузера
к ним напрямую не зайти.
public - для того, что
можно показать по ссылке: аватары,
обложки, картинки в постах.
Есть и облачные диски, например S3,
но сначала разберём локальные.
Работать с файлами удобно через
фасад Storage: сохранить,
прочитать, удалить, получить URL.
Не нужно вручную собирать пути
и думать, в какой каталог писать -
это уже заложено в настройках диска.
В следующих уроках разберём диски подробнее, загрузим файл из формы, сохраним его и сделаем публичную ссылку.
Зачем в Laravel диски Storage,
если файлы можно положить
в public вручную?
Какой диск обычно подходит для публичных картинок, а какой - для закрытых документов?
Где настраиваются диски?