Yüklenen dosyaları (ses, resim ve video) saklamak için nerede

4 Cevap php

Bir ben ses dosyalarını bir siteye yüklenen ve daha sonra ffmpeg kullanarak çeşitli biçimlere dönüştürülecek izin bir müzik sitesi geliştirdi vardı bir go, kişi bunları ve bir tmp dosyası satın aldıktan sonra yüklenen ses dosyalarını indirmek oluşturulur ve olacak olur ise indirme yere yerleştirilmeli ve her indirme örneği ve tmp dosyasının sonra silinmiş olacaktı için geçerli oldu.

Şimdi projeyi yeniden ziyaret ediyorum, ben de yükleme içerik olarak fotoğraf ve video eklemek gerekir.

Ben, dosyaları depolamak için en iyi yöntemi bulmak istiyorum

seçenek 1: bir klasördeki dosyaları depolamak ve onları veritabanında referans

seçenek 2: veritabanında gerçek dosyayı (mysql) blob olarak saklanması.

Ben her yöntemin güvenlik sonuçlarını dikkate bu fikir etrafında oynuyor yaşıyorum, ve diğer konularda ben için hesaplanan değil olabilir.

4 Cevap

Bu önceki StackOverflow soruya bakın Storing images in a database, Yea or nay?.

Ancak bu soru, tüm büyük ikili içeriği medya dosyalarına ilgisi, görüntüleri ve videoyu bahsedilen biliyorum.

Uzlaşma dosya sistemi üzerinde Görüntülere dosya yolları, depolama, ziyade gerçek görüntüler gitmek için yol olduğunu gibi görünüyor.

Ben diskteki dosyaları doğrudan depolama ve veritabanı yalnızca kimlik / url tutmak için giderdim.

This way accessing those files (that can be large, binary files) doesnt require any php/database operation, and it's done by the webserver directly.
Also it will be easier to move those files to another server if you'd want to.

Neyse, ister yedek DB tek bir yerde tüm verileri olacak bu şekilde ve siz (yani don 'her yedek dolu olduğundan emin olabilirsiniz - Aslında ben veritabanında saklayarak ATM görebilirsiniz sadece bir baş kolay yedekleme t veritabanı girişlerinin tarafından kullanılmayan disk üzerinde dosyalar var ve size hiçbir işaret veritabanındaki görüntü kimlikleri yok)

Ben dosyaları olarak saklamak ve veritabanında kendi konumlarını saklamak öneriyoruz.

Storage the files in a database requires more resources and makes backing up/restoring databases slower. Do you really want to have to transfer lots of videos every time you do a database dump? File systems work very well for dishing out files, and you can back them up/sync them very easily.

Ben bir Windows Forms uygulaması için arka uç olarak bir similar question using Oracle sordu.

Bu sorunun cevabı gerçekten yedekleme ve geri yükleme dosyaları için gereksinimleri aşağı kaynar. Bu gereklilik önemli ise o zaman daha kolay olacak gibi veritabanını kullanmak (sağ, yine veritabanı yedekleme konum olarak: o)