Dosya indirdiğimiz çoğu dosya paylaşım sitesinde bu hız limiti durumlarına rastlamışsınızdır. “bize üye olun ve dosyayı daha hızlı indirin” gibisinden bir uyarı da vardır. Biz de sunucumuzdan dosya çekecek olan müşteri, arkadaş ya da benzeri kişilere bu hız limitini ayarlayabiliriz. Onların dosyayı yavaş indirmesini sağlayabiliriz. Php ile yazılmış bir kod bu ayarı yapmamızı sağlayacaktır.
Hız Limiti Ayarını Yapmak
Ayrıca bu tarz bir limitleme koymak Bandwith (bant genişliği) harcamamıza da etkisi olacaktır (iyi anlamda).
Kod;
// İndirilecek lokal dosya $local_file = 'test-file.zip'; // dosyanın kaydedilecek adı $download_file = 'your-download-name.zip'; // Dosya indirme hızı ayarı (=> 20,5 kb/s) $download_rate = 20.5; if(file_exists($local_file) && is_file($local_file)) { // headerleri ayarla header('Cache-control: private'); header('Content-Type: application/octet-stream'); header('Content-Length: '.filesize($local_file)); header('Content-Disposition: filename='.$download_file); // içeriği temizle flush(); // dosyayı aç $file = fopen($local_file, "r"); while (!feof($file)) { // taryıcıya dosyayı gönder print fread($file, round($download_rate * 1024)); // tarayıcıdaki içeriği temizle flush(); // bir saniyelik uyku sleep(1); } // dosya istemini kapat fclose($file); } else { die('Hata: '.$local_file.' dosyası bulunamadı!'); }
Selametle