/resources không phải là nơi tốt nhất vì thư mục này được sử dụng cho tệp nguồn và thường được lưu trữ trong kho lưu trữ mã nguồn (ví dụ: git).
Các tệp mà ứng dụng tạo thường kết thúc ở đâu đó trong/thư mục lưu trữ - chỉ cần tạo một thư mục /storage/csv tại đó.
Bạn không bao giờ nên tham khảo những tệp đó trực tiếp từ lớp học của mình. Hệ thống tập tin của Laravel là những gì bạn cần - bạn có thể đọc thêm về chúng tại đây: http://laravel.com/docs/master/filesystem. Họ thực hiện các thao tác trên các tệp (như đọc, viết, thêm, thêm, xóa, di chuyển, nhận tất cả các tệp và nhiều tệp khác ...) đơn giản hơn rất nhiều.
Bắt đầu với việc xác định một hệ thống tập tin trong cấu hình của bạn/filesystems.php
'disks' => [
'csv' => [
'driver' => 'local',
'root' => storage_path().'/csv',
],
],
Bây giờ bạn có thể đọc/ghi file csv của bạn thông qua lưu trữ mặt tiền từ bất cứ nơi nào trong mã của bạn như thế:
Storage::disk('csv')->put('file.csv', $content);
$content = Storage::disk('csv')->get('file.csv');
Nguồn
2015-08-14 08:20:53
Nhu cầu hiện tại của tôi là tạo tệp sau đó sử dụng nó trên cùng một thực thi. Không có tham chiếu tệp "vĩnh viễn". Dù sao giải pháp bạn cung cấp là tuyệt vời. Cảm ơn – koalaok
Nếu tôi có nhiều thư mục con trong thư mục csv. Bạn đề nghị làm gì để truy cập trực tiếp? Xác định rõ hơn các mục cụ thể hơn trong config/filesystems.php? hoặc xâu chuỗi như Storage :: disk ('csv'). "/ mysubdir /../" (dunno chưa viết cách này chính xác ..) – koalaok
Bao gồm thư mục trong tên tệp bạn chuyển để đặt/nhận, ví dụ: -> put ('folder/file.csv', $ content). –