【问题标题】:limit number of times the file can be downloaded限制文件可以下载的次数
【发布时间】:2015-08-02 22:28:29
【问题描述】:

我正在创建一个网站,人们可以创建自己的视频并从我的服务器下载。

我想将下载次数限制为 10。

所以我打算通过 php 文件提供下载文件并将文件的计数更新到数据库。如果达到 10 次下载。我拒绝下载。

但我想它会消耗更多资源。在 linux 服务器中是否有其他可能的方法,例如使用 htaccess 或类似的东西?所以一个文件在被访问 10 次后应该会被自动删除。

编辑:它不是用户...任何人都可以免费使用这个网站。

【问题讨论】:

  • 既然你说的是用户,我猜人们需要登录才能下载东西,所以只要跟踪哪个用户正在下载哪个文件,所以创建带有 userid、fileeid 和 nr_times_downlaoded 或 smthing 的表,并保持跟踪..
  • 不,我很抱歉..它不是用户...任何人都可以下载该文件。
  • 那么不是存储用户ID,而是跟踪IP地址?不太准确,但可能值得一试?
  • 这不是将文件限制为一个人...他也可以将链接分享给任何人...但总下载次数应该是 10
  • 那么只记录一个文件在数据库中被下载了多少次? (id、文件名、nr_of_downloads、限制)?

标签: php linux apache .htaccess


【解决方案1】:

我是最简单的解决方案之一,

在用户配置文件夹中将文件存储在文件系统中,当数据库中的计数器达到 10 时,使用 php 中的unlink() 方法删除该文件。

【讨论】:

    【解决方案2】:

    如果您不想为此避免数据库查询,您可以在文件名中应用一种简单的技术来指示剩余限制,如文件名 10、文件名 9 等。但是要使用这种方法,您需要在 " - 每次下载。

    这可能是一种方法。

    【讨论】:

    • 这是一个聪明的主意:D
    • 啊等等,,,我如何在下载时再次找到文件名:p
    • 在filename-10中,文件名保持不变,只搜索和检索“-”之前的部分。
    • 但是你能告诉我如何在 hypens 之前搜索文件名吗?我猜只有循环和检查是可能的?如果我将限制设置为 100 次下载,它会比数据库消耗更多的资源。或者我错了吗?
    • 你从哪里搜索文件?来自数据库?
    猜你喜欢
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 2019-02-09
    • 2015-05-19
    相关资源
    最近更新 更多