Tôi chắc chắn một cái gì đó như thế này là có thể đạt được vì có các trang web lưu trữ / chia sẻ tệp giới hạn tốc độ tải xuống cũng như tải xuống đồng thời. Cá nhân tôi không biết làm thế nào để thực hiện loại điều này, nhưng tôi hy vọng có thể chỉ cho bạn đi đúng hướng.
Hãy nhìn vào Thùng mã thông báo và Thùng bị rò rỉ thuật toán.
Tôi tin rằng có các mô-đun apache bạn có thể cài đặt và định cấu hình để trợ giúp với loại điều này. Hãy thử nhìn vào mod_cband và iptables .
Chúc may mắn!
CẬP NHẬT
Nếu bạn đang tìm cách để làm điều đó thông qua PHP, bạn có thể thử cách này ( nguồn ):
// local file that should be send to the client
$local_file = 'test-file.zip';
// filename that the user gets as default
$download_file = 'your-download-name.zip';
// set the download rate limit (=> 20,5 kb/s)
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file)) {
// send headers
header('Cache-control: private');
header('Content-Type: application/octet-stream');
header('Content-Length: '.filesize($local_file));
header('Content-Disposition: filename='.$download_file);
// flush content
flush();
// open file stream
$file = fopen($local_file, "r");
while (!feof($file)) {
// send the current file part to the browser
print fread($file, round($download_rate * 1024));
// flush the content to the browser
flush();
// sleep one second
sleep(1);
}
// close file stream
fclose($file);
}
else {
die('Error: The file '.$local_file.' does not exist!');
}