Anladığım kadarıyla kodlamada bir yanlışın yok yani yanlışın olsa dahi bunu düzeltebilecek seviyedesin. Fakat sorun apache ile ilgili olabilir. eğer indirmek istediğin dosya apache nin tanıdığı bir dosya ise browser dosyayı download etmek yerine içeriğini gösterir. Sorunun bu olabilirmi?. Mesela txt uzantısı apache ye tanıtılmış ise
apache dosyanın içeriğini browserda gösterir. Tanıtılmadı ise download dialog kutusu karşımıza gelir. Kodlarınıda şöyle düzenlersek daha iyi olacak sanırım.
download1.php

Bu kodu sadece üyeler görüntüleyebilir! Üye olmak için
tıklayın Üye iseniz
giriş yapın.
* mime_content_type() fonksiyonu ile dizinde bulunan yani ftp de bulunun bir dosyanın ismi verildiğinde dosyanın tipini alabilirsin. Yani dizinde bulunmayan veri tabanına kayıt ettiğin bir dosya ismi ile dosyanın mime type ını alamazsın ben biraz kodu değiştirdim. ona göre tablonu optimize edersin kullandığım alanlar id(int),dosya_adi(string),dosya_tipi(string),dosya_icerik(blob) Umarım yardımcı olur.