Sadece md5 veya kavramsal olarak eşdeğer bir şey kullanmanızı tavsiye ederim. Dosyaları içeriği sindirerek yeniden adlandırarak, yalnızca benzersizlik vermezsiniz (görüntüleri her zaman mümkün olduğunca uzun süre önbelleğe alırsınız ve içerik tabanlı yeniden adlandırma ile, uygun olanla görüntüleri neredeyse sonsuza kadar önbelleğe alabilirsiniz).
Ayrıca, büyük bir anlaşma değil, ancak yine de farklı kullanıcılar tam olarak aynı görüntüyü yüklediğinde saf bir varsayımsal durum değildir. Kutudan çıkar çıkmaz küçük bir veri depolama optimizasyonu elde edersiniz.
Önerilen her şeye gelince: Bana gelince, her türlü yardımcı bilgiyi bir dosya adında tutmanın güçlü bir rakibiyim . Ben çok daha gençken (ve biraz daha ince :), bir Perl geliştiricisi oldum ve Perl string desen özellikleri harika olduğundan, dosya adında yardımcı bilgi kadar bana yardımcı olarak çok fazla yardımcı bilgi saklamak için şüpheli bir alışkanlık vardı. Ve ben web geliştirme söz, dosya ile ilişkili verileri dosya adından ayrı tutmak her zaman daha iyi bir seçim olduğu sonucuna vardım .
Günümüzde, mobil arayüzler baskın olduğunda, gerçek dosya adının 5, 10 yıl önce daha az önemli bir şey olduğunu unutmayın. Ancak bu, uygulamanız bağlamında önemli olsa bile, istediğiniz zaman Content-Disposition: attachment; filename="pretty_file_name.jpg"
herhangi bir ilgili dosya adını oluşturarak HTTP başlığını dahil etmekle her zaman eski okul büyüsünü dahil edebilirsiniz . Ayrıca, modern tarayıcılar yeni HTML5 özniteliğini indirmenin yolunu açıyor . Aslında "insan tarafından okunabilir" görüntü adını görmenin çoğu durumda düşünmeniz gereken bir şey olduğuna inanmıyorum.
UPD: Bir dizinde çok fazla dosya olmaması için bir değişiklik yapılabilir - sadece ilk 3 harfi alın ve dir oluşturun.