前些天架设了一个小小的Discuz 6 论坛 ,上面上传了一些热门的电子书,相关附件的下载异常火爆。服务器的带宽不大,有些吃力,就想如何能实现附件的限速下载。本来不懂PHP的,网上倒是有PHP限速下载的代码。研究了一下Discuz的代码,实现了一个可行的方案。
很简单,找到attachment.pnp,找到最下面,有个function getlocalfile($filename, $readmod = 1, $range = 0)
改成:
function
getlocalfile(
$filename
,
$readmod
=
1
,
$range
=
0
) {
很简单,找到attachment.pnp,找到最下面,有个function getlocalfile($filename, $readmod = 1, $range = 0)
改成:
function
getlocalfile(
$filename
,
$readmod
=
1
,
$range
=
0
) {

本文介绍了如何修改Discuz论坛的代码,实现对附件下载的限速功能,以减轻服务器带宽压力。通过修改attachment.php中的function getlocalfile函数,设置下载速率限制为10kb/s,结合fread、flush和sleep函数,达到限速目的。经测试,效果显著。

2068

被折叠的 条评论
为什么被折叠?



