Tüm dosyaları yönetin: görseller, müzikler, PDF'ler. Otomatik boyutlandırma ve optimize edilmiş depolama.
Sistemdeki tüm dosyaları (şarkı kapakları, sanatçı fotoğrafları, albüm görselleri) tek bir yerden yöneten altyapı. Yüklenen her görsel otomatik olarak farklı boyutlarda oluşturulur.
Örneğin bir albüm kapağı yüklediğinizde, sistem bunu 100x100, 200x200, 400x400 ve 800x800 boyutlarında otomatik olarak hazırlar. Hangi sayfada kullanılıyorsa uygun boyut gösterilir.
Küçük bir liste için 800x800 görsel yüklemek sayfa hızını düşürür. Otomatik boyutlandırma sayesinde her yerde doğru boyut kullanılır, sayfa hızı artar.
| Boyut Adı | Piksel | Kullanım Alanı |
|---|---|---|
thumb |
100x100 | Küçük ikonlar, player |
small |
200x200 | Liste görünümü |
medium |
400x400 | Kart görünümü |
large |
800x800 | Detay sayfası |
banner |
1920x600 | Sayfa başlığı |
Laravel için güçlü dosya yönetim paketi. InteractsWithMedia trait'i ile her modele dosya eklenebilir.
Siz bir dosya yüklediğinizde sistem şu işlemleri otomatik yapar:
Dosya tipi (MIME) ve boyut kontrolü yapılır. Sadece izin verilen formatlar kabul edilir. Zararlı dosyalar engellenir.
Dosya adı UUID ile yeniden adlandırılır. Aynı isimde dosya çakışması önlenir. Örnek: a1b2c3d4-e5f6.jpg
Spatie Media Library görselden farklı boyutlarda (100, 200, 400, 800px) küçük resimler oluşturur. WebP formatına çevirir, dosya boyutunu %70 küçültür.
media tablosuna kayıt oluşturulur: dosya adı, boyut, MIME tipi, disk konumu, collection adı ve ilişkili model bilgileri kaydedilir.
Dosya türüne göre collection atanır: "cover" (albüm kapağı), "avatar" (profil fotoğrafı), "audio" (ses dosyası). Bu sayede dosyalar kategorilenir.
getUrl() metodu ile dosyanın erişim URL'i üretilir. thumb($media, 400, 300) helper'ı ile istenen boyutta görsel alınır.