File Storage
File Storage là một thư viện lưu trữ file dựa trên Flysystem.
Nó cung cấp một giao diện để tương tác với nhiều loại hệ thống tập tin.
Để sử dụng storage bạn có thể sử dụng các method static, ví dụ như method put để tạo file
Storage::put('file.png')
Mặc định các thao lưu, xóa, thêm file hay thư mục điều bên trong thư mục lưu trữ của cms uploads,
nếu bạn cần thao tác với thư mục khác bạn có thể sử dụng phương thức disk
$storage = Storage::disk('app') // storage này sẽ thao tác với thư mục application
$storage = Storage::disk('language') // storage này sẽ thao tác với thư mục language
$storage = Storage::disk('router') // storage này sẽ thao tác với thư mục router
$storage = Storage::disk('upload') // storage này sẽ thao tác với các data nằm trong thư mục uploads
$storage = Storage::disk('views') // storage này sẽ thao tác với các data nằm trong thư mục views
$storage = Storage::disk('plugin') // storage này sẽ thao tác với các data nằm trong thư mục views/plugins
$storage = Storage::disk('admin') // storage này sẽ thao tác với các data nằm trong thư mục views/backend
$storage = Storage::disk('cache') // storage này sẽ thao tác với các data nằm trong thư mục views/cache
hoặc bạn có thể sử dụng method make, method nhận vào một đối số là thư mục cần thao tác, mặc định giá trị này sẽ được đặt thành thư mục lưu trữ của cms uploads
$storage = Storage::make(string $path)
Files
Lấy Files
Phương thức get có thể được sử dụng để lấy nội dung của một file. Nội dung chuỗi thô của file sẽ được trả về bởi phương thức.
Hãy nhớ rằng, tất cả các đường dẫn file nên được chỉ định tương đối đối với "root" của ổ đĩa:
$contents = Storage::get('source/file.jpg');
//hoặc
$contents = Storage::disk('upload')->get('source/file.jpg');
Nếu file bạn đang lấy có nội dung là JSON, bạn có thể sử dụng phương thức json để lấy file và giải mã nội dung của nó:
$contents = Storage::json('source/file.json');
//hoặc
$contents = Storage::disk('upload')->json('source/file.json');
Phương thức exists có thể được sử dụng để xác định xem một file có tồn tại không:
if (Storage::exists('file.jpg')) {
// ...
}
Phương thức missing có thể được sử dụng để xác định xem một file đã mất hay chưa:
if (Storage::missing('file.jpg')) {
// ...
}
Thông tin Files
Ngoài việc đọc và ghi files, Storage còn có thể cung cấp thông tin về chính files đó.
Phương thức size có thể được sử dụng để lấy kích thước của một file tính bằng byte:
$size = Storage::size('file.jpg');
Phương thức lastModified trả về thời điểm sửa đổi cuối cùng của file dưới dạng dấu thời gian UNIX:
$time = Storage::lastModified('file.jpg');
MIME type của một file cụ thể có thể được lấy qua phương thức mimeType:
$mime = Storage::mimeType('file.jpg');
Lưu Files
Phương thức put có thể được sử dụng để lưu trữ nội dung của file lên ổ đĩa.
Bạn cũng có thể truyền một PHP resource cho phương thức put, sẽ sử dụng hỗ trợ dòng của Flysystem ở dưới.
Hãy nhớ rằng, tất cả các đường dẫn file nên được chỉ định tương đối đối với "root" được cấu hình cho ổ đĩa:
Storage::put('file.jpg', $contents);