Где сохранить файлы в структуре папок 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+ : в корневом каталоге