Bạn có thể tạo một đĩa khác cho lớp Lưu trữ. Đây sẽ là giải pháp tốt nhất cho bạn theo ý kiến của tôi.
Trong config / filesystems.php trong mảng đĩa thêm thư mục mong muốn của bạn. Các công thư mục trong trường hợp này.
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path().'/app',
],
'public' => [
'driver' => 'local',
'root' => public_path(),
],
's3' => '....'
Sau đó, bạn có thể sử dụng lớp Storage để làm việc trong thư mục chung của mình theo cách sau:
$exists = Storage::disk('public')->exists('file.jpg');
Các $ tồn tại biến sẽ cho bạn biết nếu file.jpg tồn tại bên trong các công thư mục vì đĩa lưu trữ 'công cộng' điểm đến thư mục công cộng của dự án.
Bạn có thể sử dụng tất cả các phương pháp Lưu trữ từ tài liệu, với đĩa tùy chỉnh của mình. Chỉ cần thêm phần đĩa ('công khai').
Storage::disk('public')-> // any method you want from
http://laravel.com/docs/5.0/filesystem#basic-usage
Chỉnh sửa sau:
Mọi người phàn nàn rằng câu trả lời của tôi không đưa ra phương pháp chính xác để liệt kê các tệp, nhưng ý định của tôi là không bao giờ bỏ một dòng mã mà op copy / paste vào dự án của mình. Tôi muốn "dạy" anh ta, nếu tôi có thể sử dụng từ đó, cách sử dụng Laravel Storage, thay vì dán một số mã.
Dù sao, các phương pháp thực tế để liệt kê các tệp là:
$files = Storage::disk('public')->files($directory);
// Recursive...
$files = Storage::disk('public')->allFiles($directory);
Và phần cấu hình và nền ở trên, trong câu trả lời ban đầu của tôi.