Где сохранить файлы в структуре папок Laravel 5?

У меня есть проект Laravel, который сохранит файлы (txt или csv) после выполнения некоторых вычислений.

Я ищу лучшую практику о том, где сохранить эти файлы. Может быть, /ресурсов/КШМ/...?

второй вопрос как было бы лучше всего ссылаться на этот путь из классов? Настройка пути abs .файл env? Есть ли метод laravel, который вернет путь к ресурсам?

2 ответов


/ресурсов не лучшее место, так как эта папка используется для исходных файлов и обычно хранится в репозитории исходного кода (например, ЖКТ).

файлы, которые генерирует приложение, обычно заканчиваются где - то в папке / storage-просто создайте / хранение / csv там папку.

вы никогда не должны ссылаться на эти файлы прямо с вашего занятия. Файловые системы Laravel - это то, что вам нужно - вы можете узнать больше о них здесь: http://laravel.com/docs/master/filesystem. Они делают операции на файлах (чтение, запись, добавление, добавление, удаление, перемещение, получить все файлы и многое другое...) гораздо проще.

начните с определения файловой системы в свой конфиг/файловые системы.в PHP

'disks' => [
  'csv' => [
    'driver' => 'local',
    'root'   => storage_path().'/csv',
  ],
],

теперь вы можете читать / записывать csv-файлы через для хранения фасад из любой точки вашего кода:

Storage::disk('csv')->put('file.csv', $content);
$content = Storage::disk('csv')->get('file.csv');

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

например:

вы можете создать папку с именем csv в папке хранения и получить путь следующим образом:

storage_path().'/csv';

вы можете найти папку хранения в

Laravel 4.2: app>хранение
Laravel 5+ : в корневом каталоге