Ayrıca, başlık bilgilerini ve readfile () göndererek indirme zorlama ile bir performans sorunu var mı?
Evet, safça bunu yaparsanız. İyi bir dosya indirme komut gerekir:
- dolum bellek önlemek için uzun dosyaları stream
- önbelleklerini sağlamak için destek ETAG'ları ve Son-Modifiye istek / yanıt başlıkları çalışmaya devam
- makul Bitiş / Cache-Control ayarları ile geldi
Hala hızlı (genellikle C yazılır ve ağır belki hatta bunun için OS çekirdek özelliklerini kullanarak, dosyaları hizmet için optimize edilmiş) web sunucusu olarak olmayacak, ama çok daha iyi olacak.
Bu dosya adlarını korumak ve kullanımları indirme bir komut dosyası kullanarak değil doğrudan izin için daha iyi olurdu?
Daha iyi gerçekleştirmek istiyorsunuz, evet, ama güvenlik hakkına almak bir sorundur. here bazı tartışmalar için bkz.
URL gibi bir şey görünüyor, böylece bir uzlaşma, bir yeniden yazma kullanmaktır:
hxxp://www.example.com/files/1234/Lovely_long_filename_that_can_contain_any_Unicode_character.zip
Ama dahili yönlendirildi:
hxxp://www.example.com/realfiles/1234.dat
(çabucak) sunulduğu web sunucusu tarafından.