首页 > 后端开发 > php教程 > mysql - php怎么记录用户下载了一个文件?

mysql - php怎么记录用户下载了一个文件?

WBOY
发布: 2016-06-06 20:11:42
原创
1096 人浏览过

类似用百度文库的时候,下载一个文件,这个文件需要1个下载券,当第一次下载的时候,就会扣掉1个下载券,当这个帐号再次下载这个文件的时候,就不会再扣下载券。

我想会有一个download_records表,和users表进行一对多关联,每下载一个文件,就往download_records表写入一条记录,像这样:

<code>id   download_record  user_id
1    ...              123
2    ...              123</code>
登录后复制
登录后复制

那么,这个download_record字段该记录什么东西呢,是这个文件的路径+文件名吗?还是其他什么东西呢?

回复内容:

类似用百度文库的时候,下载一个文件,这个文件需要1个下载券,当第一次下载的时候,就会扣掉1个下载券,当这个帐号再次下载这个文件的时候,就不会再扣下载券。

我想会有一个download_records表,和users表进行一对多关联,每下载一个文件,就往download_records表写入一条记录,像这样:

<code>id   download_record  user_id
1    ...              123
2    ...              123</code>
登录后复制
登录后复制

那么,这个download_record字段该记录什么东西呢,是这个文件的路径+文件名吗?还是其他什么东西呢?

你把账号 跟 下载文件建立一个关联表

思路:
不能使用直接下载,就是说下载的时候不给予解析。禁止 服务器地址/av.avi 这种下载。换成xxx.php?filename=av.avi这样去解析下载。然后在xxx.php写业务逻辑就好了

可以记录你的文件ID 如果你的文件有多种类型并保存多个地方 这个ID可以重复 再加一个type记录文件类型
文件类型跟ID加唯一限制

题主,你的下载的资源是不是后台上传的?后台上传的话应该是有ID的,你可以在资源下载表记录资源ID,用户ID,下载时间==,其他就根据项目需求去定咯

记录文件id

<code>id    article_id    user_id   down_num   </code>
登录后复制

下载时判断用户是否下载过,下载过就不扣积分,down_num是下载次数,当然也可以没下载一次增加一条记录,就不需要这个字段

我建议建立文件表用户表的多对多映射。
建一张表只记录文件id和用户id。
当然如果你希望在一定时间后下载到期,可以在增加一个时间戳字段

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板