Php 文件下载速度限制?

Php 文件下载速度限制?,php,download,rate-limiting,Php,Download,Rate Limiting,我正在考虑设置一个文件主机(主要是为了练习),但如何确保免费用户的速度仅为40-50kb/s,而高级用户的速度更快 我想您应该将所有文件放在两个单独的服务器上,并简单地控制端口连接(10Mbit与1000Mbit),但这需要镜像硬盘设置 有了所有的文件主机,我敢打赌一定有一个更简单的解决方案。这将是在web服务器级别实现的。如果您使用apache,这个问题可能会涉及如何实现节流: 至于在每个用户的基础上进行此操作,可能有一种方法可以与来自php的这些apache配置指令进行交互,或者您可以只拥有

我正在考虑设置一个文件主机(主要是为了练习),但如何确保免费用户的速度仅为40-50kb/s,而高级用户的速度更快

我想您应该将所有文件放在两个单独的服务器上,并简单地控制端口连接(10Mbit与1000Mbit),但这需要镜像硬盘设置


有了所有的文件主机,我敢打赌一定有一个更简单的解决方案。

这将是在web服务器级别实现的。如果您使用apache,这个问题可能会涉及如何实现节流:


至于在每个用户的基础上进行此操作,可能有一种方法可以与来自php的这些apache配置指令进行交互,或者您可以只拥有两个虚拟主机,其中一个被锁定给特定用户,并且具有更高的限制速率。

您可以使用例如。


空白,添加了对原始postEdit的评论:我想我在这里发现了一些东西:至少它似乎有效(目前以一致的75 kb/s测试)。这非常酷,我喜欢。关于我上面发布的链接,这是我正在测试的页面的底部脚本:
use bandwidthThrottle\BandwidthThrottle;

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

$throttle = new BandwidthThrottle();

if ($user->isPremium()) {
    $throttle->setRate(500, BandwidthThrottle::KIBIBYTES); // 500KiB/s
} else {
    $throttle->setRate(50, BandwidthThrottle::KIBIBYTES); // 50KiB/s
}

$throttle->throttle($out);

stream_copy_to_stream($in, $out);