Dosya İndirtme ve Hız Limitleme (Bandwidth) Kontrol

ByTRiSLaSiS

webmaster.tc
Üye
Katılım
6 Ağu 2012
Mesajlar
129
Konum
İstanbul
Daha önceleride kullandıgım ve kullanmaktan zevk aldıgım bir fonksiyonu paylaşıyorum arkadaşlar sizlerle :) sizde zevk alacaksınız :D örneğin diyelimki serverda kullanıcıların indirdiği bir dosya var 1 kullanıcı indirirken sorun yok ama 50 kullanıcı birden o dosyayı download etmeye başlarsa doğal olarak sunucu bağlantınız düşecek bunun önüne geçmek ve kullanıcılara indirme hızında limit koymak isterseniz buyrun bu fonksiyon tam istediğiniz şey unix tabanlı işletim sistemlerinde genelde perl ile yapılan bu işlemi php ilede yapabilirsiniz... Kodar konunun devamında :)


PHP:
<?
function Download ($FileName,$Limit){
	ignore_user_abort(false);
	$ExtenSion = pathinfo($FileName);
	$Exx = $ExtenSion['extension'];
	header('Content-type: application/'.$Exx.'');
	header('Content-Disposition: attachment; filename="'.$FileName.'"');
	$Kilobyte=$Limit;
	$Kilobyte=(int)(1000000/$Kilobyte);
	if($Kilobyte<0) $Kilobyte=0;
	$Pointer=fopen($FileName, 'r');
	while(!feof($Pointer)) {
		echo fread($Pointer, 1024);
		usleep($Kilobyte);
	}
	fclose($Pointer);
}

//Örnek Kullanım
Download("Dosya.rar",500);
?>
 

enc0der

webmaster.tc
Üye
Katılım
6 Ağu 2012
Mesajlar
11
Elinize sağlık hocam...
 

kralmermi

webmaster.tc
Üye
Katılım
6 Ağu 2012
Mesajlar
93
Konum
<?php ?>
Bu kodu biliyorum. hatta ilk ben gördüm. Ama test etmek nasip olmadı. Olmasıda gerekmiyor. ben kısıtlanmayı sevmiyorum :D Ama test etmeye gerekte yok çalıştığından adım kadar eminim. Eline Sağlık (Afiyet olsun gibi berbat bi espiri yapma lütfen :D )
 

ByTRiSLaSiS

webmaster.tc
Üye
Katılım
6 Ağu 2012
Mesajlar
129
Konum
İstanbul
  • Konu Sahibi Konu Sahibi
  • #5
Üst