Tüm Sayfalar / 13 - Medya Yönetimi
Sayfa 13
Dosya Sistemi

Medya Yönetimi

Görsel, müzik dosyası ve belge yükleme sistemi.

Medya Sistemi Ne Yapar?

Sisteme yüklenen tüm dosyalar merkezi olarak yönetilir. Görseller, şarkı dosyaları, kapak resimleri, belgeler... Hepsi tek yerden kontrol edilir.

Otomatik Boyutlandırma

Yüklenen görseller farklı boyutlarda otomatik oluşturulur.

Koleksiyon Sistemi

Dosyalar kategorilere ayrılır: kapak, avatar, belge...

Model Bağlantısı

Her dosya hangi içeriğe ait olduğunu bilir (şarkı, albüm, kullanıcı...).

Güvenli Depolama

Dosyalar sunucuda güvenle saklanır.

Mimari Yenilik

Merkeziyetçi Medya Sistemi

Eski Sistem
Şarkı görseli → songs tablosunda
Albüm kapağı → albums tablosunda
Kullanıcı avatarı → users tablosunda
Blog görseli → posts tablosunda
Her tablo kendi görselini yönetiyordu. Karmaşık!
Yeni Sistem
Tek Media Tablosu
Tüm görseller tek merkezde
Herkes aynı tabloyu kullanıyor. Düzenli!

Avantajları

  • • Tek yerden tüm görselleri yönetme
  • • Otomatik thumbnail oluşturma herkese uygulanır
  • • Kullanılmayan görselleri tespit etmek kolay
  • • Disk alanı takibi merkezi

Desteklenen Dosya Türleri

Görseller

• JPG, JPEG
• PNG
• GIF
• WebP

Ses Dosyaları

• MP3
• WAV
• FLAC
• M4A

Belgeler

• PDF
• DOC, DOCX
• XLS, XLSX
• TXT

Otomatik Küçük Resim (Thumbnail)

Bir görsel yüklediğinizde sistem farklı boyutlarda kopyalar oluşturur. Büyük ekranda büyük, küçük ekranda küçük görsel kullanılır. Sayfa hızlı açılır.

Örnek Boyutlar:
50x50
Avatar
150x150
Liste
300x300
Kart
600x400
Detay

Arkaplanda Neler Çalışıyor?

Bir dosya yüklediğinizde sistem şu adımları otomatik uygular:

1. Dosya Doğrulama ve Güvenlik

Yüklenen dosyanın MIME type'ı kontrol edilir. Sadece izin verilen formatlar kabul edilir: image/jpeg, image/png, audio/mpeg, application/pdf. Dosya boyutu limiti kontrol edilir (max 50MB). Zararlı dosyalar (PHP, exe) reddedilir.

2. Benzersiz İsim Oluşturma

Dosya adı çakışmasını önlemek için UUID tabanlı isim oluşturulur: a3b2c1d4-e5f6-7890-abcd-ef1234567890.jpg. Orijinal dosya adı da saklanır (kullanıcıya göstermek için). Hash ile duplicate kontrolü yapılabilir.

3. Thumbnail Oluşturma (Intervention Image)

Görsel dosyalar için Intervention Image paketi devreye girer. Tanımlı boyutlarda (50x50, 150x150, 300x300, 600x600) kopyalar oluşturulur. WebP formatına dönüştürülür (daha küçük boyut). Orijinal dosya da saklanır.

4. Spatie Media Library Kaydı

media tablosuna kayıt oluşturulur: model_type (App\Models\Song), model_id (123), collection_name (cover), file_name, mime_type, size, disk (public). Polymorphic ilişki ile herhangi bir model'e bağlanabilir.

5. Koleksiyon Ataması

Her dosya bir koleksiyona atanır: "cover" (albüm kapağı), "avatar" (profil fotoğrafı), "audio" (ses dosyası), "document" (belge). Model'de registerMediaCollections() ile tanımlanır. Koleksiyona göre farklı boyut/format kuralları uygulanır.

6. URL Oluşturma

$song->getFirstMediaUrl('cover') çağrıldığında public URL döner: /storage/123/cover.jpg. Thumbnail için: getFirstMediaUrl('cover', 'thumb') → /storage/123/conversions/cover-thumb.jpg. CDN kullanılıyorsa URL otomatik değişir.

Sözlük

Media

(Medya)

Görsel, ses, video gibi dijital dosyaların genel adı.

Fotoğraf albümü gibi düşünün, ama dijital.

Thumbnail

(Küçük Resim)

Büyük resmin küçültülmüş önizleme hali.

Posta pulu boyutunda fotoğraf gibi.

Collection

(Koleksiyon)

Dosyaların gruplandığı kategori. "cover", "avatar", "document"...

Dosya klasörü gibi.

Storage

(Depolama)

Dosyaların sunucuda saklandığı alan.

Dijital depo, dosya dolabı.

Yükleniyor...
album-cover.jpg
75%
2,847 dosya

Medya kütüphanesi