Tìm extension của các files không có extension trong Laravel Chuyên mục PHP và Laravel 2023-08-02 437 Lượt xem 52 Lượt thích 0 Bình luận

Điều này đôi khi hữu ích khi bạn có một tệp và nó không có phần mở rộng (extension) nghĩa là các đuôi của files như là jpg, png, jar..vv được đính kèm nhưng bạn vẫn muốn biết extension của các tệp đó là gì.
Chẳng hạn, nếu mình có file png có tên foo.png và nếu mình muốn lấy extension của tệp này, Laravel có phương thức extension trên facade File có thể được sử dụng để lấy phần mở rộng khi tệp có phần mở rộng được đính kèm như bên dưới.
use Illuminate\Support\Facades\File;
File::extension(public_path('foo.png'))
// "png"
Tuy nhiên, như tôi đã đề cập trước đó, nếu file không có phần mở rộng, chẳng hạn như file png chỉ có tên foo, làm cách nào bạn có được phần mở rộng cho tệp đó?
Theo PR này, sẽ có một phương thức GuessExtension trên File facade, phương thức này sẽ cố gắng “đoán” phần mở rộng của file như này.
Update: Phương thức GuessExtension hiện đã được đổi tên thành GuessExtension từ Laravel 8.x.
use Illuminate\Support\Facades\File;
File::guessExtension(public_path('foo'))
// "png"
File::guessExtension(public_path('desktop'))
// "jpg"
Cách hoạt động, phương pháp cố gắng đoán phần mở rộng theo mime-type của tệp bằng cách sử dụng MimeType extension. của Symfony.

Bình luận (0)