AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 116091
Accepted
Saxtor
Saxtor
Asked: 2010-02-22 20:34:25 +0800 CST2010-02-22 20:34:25 +0800 CST 2010-02-22 20:34:25 +0800 CST

如何将用户配额带宽限制为 10Gb/天

  • 772

我一直试图弄清楚这一点:

我正在使用 PHP 创建一个文件托管站点,我想知道如何将用户限制为每天 10Gb 的带宽,以便他们可以下载 - 就像 RapidShare 一样,直到他们的会话过期。然后,它们将被退回 25Gb。

我可以使用什么类型的上限来监控他们下载(包括恢复)文件的会话?

我知道我必须对块数据或完成的总块做一些事情,然后我可以计算它们的总块。

bandwidth-control
  • 3 3 个回答
  • 1992 Views

3 个回答

  • Voted
  1. LeguRi
    2010-02-22T21:29:56+08:002010-02-22T21:29:56+08:00

    如果你想创建一个有这样限制的文件托管站点,我想你需要一个特定的 PHP 脚本来提供要下载的文件,就像 incrediman 说的那样。如果你对 PHP 和 Web 开发不是太陌生,我鼓励你也看看这篇文章:http: //onlamp.com/pub/a/php/2000/09/15/php_mysql.html

    然而,最终的中心思想是最终用户将始终访问相同的脚本(假设您将其命名为“download.php”),并且您将使用查询字符串之类的东西来动态选择所提供的内容。因此,要下载类似“lenna.jpg”的文件,他们会访问类似于“www.yoursite.ex/download.php?file=lenna.jpg”的 URL。

    因为这样做,您将在一个地方/脚本集中下载(这称为信息专家模式/原则),您还可以在一个中心位置记录用户在会话期间下载了多少(PHP 内置支持简单的会话信息...请参阅http://php.net/manual/en/features.sessions.php)和一个中心位置,一旦下载足够,就可以阻止它们。

    • 2
  2. Best Answer
    jackbot
    2010-02-22T21:07:24+08:002010-02-22T21:07:24+08:00

    您可以将用户的会话 ID 与他们下载的大量数据一起存储在数据库中。每次他们下载文件时,检查他们的current_usage + size_of_file < 100mb. 如果是,请允许下载,否则会显示错误。每天重置每个人current_usage的0。

    • 0
  3. incrediman
    2010-02-22T21:10:23+08:002010-02-22T21:10:23+08:00

    此外,您应该知道您可以使用 php 来启动下载,如果您想跟踪下载,您应该这样做。如果您只是链接到该文件,那将是行不通的。所以使用脚本来启动下载,并以这种方式增加他们的下载计数。

    有关使用脚本启动下载的更多信息:http ://www.ryboe.com/tutorials/php-headers-force-download

    • 0

相关问题

  • 适用于带宽有限的小型酒店的无线 AAA

  • 管理高流量媒体共享网站

  • 在 Windows 2003 VPS 服务器上控制带宽

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve