file_get_contentsi bu metod belirtilen klasör altındaki tüm dosyaları geziyor ve sizin db'dne çektiğiniz dosyayı bulup, geri dönüyor.
Aslında sorun bu metodda, çünkü sizin klasör altında 10000 dosyanız varsa teker teker hepsini kontrol ediyor. Bunun yerine direkt olarak şöyle bir şey yazın.
DB'den gelen değeri path'e ekleyip, dosya varmı yokmu kontrolü yapın.
Mesela ;
DB'den gelen deger. "abc.exe" programı.
Şeklinde bir değere atayın. $dosyaismi = "http://programinndir.net/indirmebaslat/abc.exe"
Sonra
bool file_exists ( string $dosyaismi )
buradan dönen değer true ise dosya vardır false ise dosya yoktur ;)
Muhtemelen oldukça hızlı olacaktır.
Eski yöntemler devam ederseniz arşivinizdeki program sayısı arttıkça dahada ağırlaşacaktır ;)
Kaynak : http://tr1.php.net/file_exists