Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 限制可下载文件的次数_Php_Linux_Apache_.htaccess - Fatal编程技术网

Php 限制可下载文件的次数

Php 限制可下载文件的次数,php,linux,apache,.htaccess,Php,Linux,Apache,.htaccess,我正在创建一个网站,人们可以创建自己的视频,并可以从我的服务器下载 我想把下载次数限制在10次 所以我计划通过一个php文件提供一个下载文件,并将该文件的数量更新到数据库中。如果下载量达到10次,我拒绝下载 但我猜它会消耗更多的资源。在linux服务器上有没有其他可能的方法,比如使用htaccess之类的?因此,当一个文件被访问10次后,它应该被自动删除 编辑:不是用户…任何人都可以免费使用此网站。我是最简单的解决方案之一 在用户配置文件文件夹中,将文件存储在文件系统中,当数据库中的计数器达到1

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

我想把下载次数限制在10次

所以我计划通过一个php文件提供一个下载文件,并将该文件的数量更新到数据库中。如果下载量达到10次,我拒绝下载

但我猜它会消耗更多的资源。在linux服务器上有没有其他可能的方法,比如使用htaccess之类的?因此,当一个文件被访问10次后,它应该被自动删除


编辑:不是用户…任何人都可以免费使用此网站。

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


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

如果不想避免数据库查询,可以在filename中应用一种简单的技术,以指示剩余的限制,如filename-10,文件名-9等。但要使用这种方法,您需要在每次下载时更新“-”之后的部分


这可能是一种方法。

既然你说的是用户,我想人们需要登录才能下载东西,所以只要跟踪哪个用户正在下载哪个文件,就可以用userid、fileeid和nr_times_downloaded或smthing创建表,并且只需跟踪..不,我很抱歉..它不是用户…任何人都可以下载该文件。然后只需跟踪IP地址而不是存储用户ID?不是那么准确,但它可能值得一试?这不是限制文件只限于一个人…他也可以共享任何人的链接…但总下载数应该是10然后只跟踪一个文件在数据库中下载了多少次?(id、文件名、下载次数、限制)?这是一个聪明的主意:等等,下载时我如何再次找到文件名:pin文件名-10,文件名将保持不变,因为只搜索和检索将使用“-”之前的部分。但是你能告诉我如何在hypens之前搜索文件名吗?我想只有循环和检查是可能的?如果我将限制设置为100下载,它将比数据库消耗太多资源..或者我错了吗?你从哪里搜索文件?从数据库?