2014-07-10 44 views
0

我有一種情況,我需要能夠限制/限制每個使用PHP的用戶的上傳速度(傳出服務器連接)。之所以這樣,是因爲我爲我的家人和朋友運行了一個小型的流媒體網站,目前每個用戶都可以以最快的速度從服務器上下載數據,這會導致其他用戶因服務器上的帶寬不足而受到影響。使用PHP來限制每個用戶的服務器上傳速度?

我算了一下,我注意到,每個用戶只需要1 Mbps的要能流從我的服務器電影沒有任何緩衝。

所以我的問題是:

我怎麼能油門/限制使用PHP每個用戶的服務器上傳速度?

如果你能提供一個我如何完成這個任務的例子,我會非常高興,因爲現在我不知道我該如何做到這一點。

+0

通常「上傳」通常是指用戶發送內容到服務器。你在問限制*下載速度。 –

+0

@NiettheDarkAbsol我不知道,我以爲我們在服務器端,因此上傳將意味着用戶下載。用您的搜索條件找到幾個主題。謝謝:) – Squeeze

+0

我知道,它確實看起來有點奇怪,但把它想象成一條河流。源(即您的服務器)將內容下游發送給用戶。下游=下載,上游=上傳:) –

回答

0

你可以使用bandwidth-throttle/bandwidth-throttle

use bandwidthThrottle\BandwidthThrottle; 

$in = fopen(__DIR__ . "/resources/video.mpg", "r"); 
$out = fopen("php://output", "w"); 

$throttle = new BandwidthThrottle(); 
$throttle->setRate(1, BandwidthThrottle::MIBIBYTES); // Set limit to 1MiB/s 
$throttle->throttle($out); 

stream_copy_to_stream($in, $out);