我想创建一个下载页面。我想为用户提供两种下载选项:
- >从快速服务器下载(用户付1美元即可全速下载和下载)
- >从慢速服务器下载(免费但下载速度应为70-100kb / s)
我是新手,如果有人能解释我如何:1)下载速度限制2)为用户提供免费和高级订阅,同时牢记免费用户获得低速3)我将很高兴paypal作为高级用户的付款方式 任何帮助将不胜感激。
提前致谢
答案 0 :(得分:1)
您正在寻找的是Apache httpd的mod_ratelimit或nginx的limit_rate指令。
不要依赖PHP来处理整个下载过程,因为你要绑定一个完整的PHP工作者而没有额外的好处。相反,您可以依靠使用PHP来处理下载URI的身份验证机制,然后使用X-SENDFILE
headers with Apache httpd mod_xsendfile来处理实际下载。
这就像在PHP中执行以下操作一样简单......
<?php
session_start();
if ($_SESSION['authed']) {
header("X-SENDFILE: /path/to/download/foo.zip");
} else {
header('Location: /authenticate');
}
依靠网络服务器为您提供文件所带来的一些好处包括:
答案 1 :(得分:0)
您可以将文件以块的形式输出到浏览器,并使用sleep()
函数来限制速度。例如,输出为256 kB,然后输出sleep(1)
为1s
另请查看此链接Apache - how to limit maximum download speed of files? (if not apache, i can run lighthttpd)
我认为@Sherif建议使用http服务器更好。