/resources nie są najlepszym miejscem, ponieważ ten folder jest używany do plików źródłowych i zwykle jest przechowywany w repozytorium kodu źródłowego (np. git).
Pliki, które generuje aplikacja, zwykle znajdują się w folderze/storage - wystarczy utworzyć tam folder /storage/csv.
Powinieneś nigdy nie odwoływać się do tych plików bezpośrednio ze swoich klas. Systemy plików Laravel są tym, czego potrzebujesz - możesz przeczytać więcej na ich temat tutaj: http://laravel.com/docs/master/filesystem. Sprawiają, że operacje na plikach (np. czytają, piszą, dodają, dodają, usuwają, przenoszą, wszystkie pliki i wiele innych ...) są znacznie prostsze.
start z definiowaniem systemów plików w config/filesystems.php
'disks' => [
'csv' => [
'driver' => 'local',
'root' => storage_path().'/csv',
],
],
Teraz można odczytu/zapisu plików csv poprzez Storage fasadę z dowolnego miejsca w kodzie tak:
Storage::disk('csv')->put('file.csv', $content);
$content = Storage::disk('csv')->get('file.csv');
Obecnie potrzebuję utworzyć plik, a następnie użyć go w tym samym wykonaniu. Nie mieć "stałego" odniesienia do pliku. W każdym razie oferowane przez ciebie rozwiązanie jest niesamowite. Dzięki – koalaok
Jeśli mam wiele podkatalogów w folderze csv. Co sugerujesz zrobić, aby uzyskać do nich bezpośredni dostęp? Lepiej zdefiniować bardziej szczegółowe wpisy w config/filesystems.php? lub skandowanie jak Storage :: disk ('csv'). "/ mysubdir /../" (nie wiem jeszcze jak to poprawnie napisać). – koalaok
Dołącza folder do nazwy pliku przekazywanej przez użytkownika put/get, np. -> put ('folder/file.csv', $ content). –