我有一个网站,允许用户下载PDF文件,我每个用户每天限制下载10个文件,并将数字存储在MySQL表中的“下载”列下。
每天我都使用此命令将所有用户的所有值都设置为0:
update users set downloads = 0
我与我的网络托管服务提供商联系,他们拒绝授予我超级用户特权,以安排此专栏每24小时重置一次。
是否有其他方法可以在PHP中编写少量代码以从外部重置该列,或通过其他任何方式来做到这一点?
更新:我也不能执行cron作业!
答案 0 :(得分:1)
在同一字段中将日期和下载次数保存在数据库中,每次更新此字段时,请询问是否不保存今天的日期和零次下载,例如,您的字段为今天是今天?
date_downloadsTimes
03-02-2019_2
答案 1 :(得分:-1)
将上次重置时间存储在文件或数据库中,并在每次新下载请求时检查上次重置是否是24小时以上。如果是这样,请重置下载计数器并更新时间。这样,您就不必依赖后台工作。
或者,您可以设置从外部源(您的PC或某些Web服务)定期调用的路由(要调用的URL),并重置下载计数器。