要求文件一个用户只能下载一次,我应该咋个判断文件已经被下载了然后不允许改用户继续下载

解决方案 »

  1.   

    建一个已下载的表download_permission
    表中字段
    ——————————————————————
    文件名/文件ID | 用户名/用户ID | 是否允许下载
    ——————————————————————
    其实用两个字段就可以满足要求,即文件名/文件ID和用户名/用户ID,点击下载时候,将文件名/文件ID和用户名/用户ID写入数据表中,就表示该用户已经下载过这个文件了。
    但是为了更加灵活管理,再添加一个字段表示是否允许下载,1表示允许,0表示不允许。当用户下载文件的时候,就将该字段设置为0,表示用户已经下载过该文件了,不再允许下载。
      

  2.   

    哇这个非常复杂,如果是上传的话,服务器还可以直接做判断是否已经上传完毕。
    但是下载,你要确保用户下载完成,即需要在客户端上做判断。相当于你要做一个WEB迅雷。
    不知道你那个系统有没有必要要搞这么复杂的。
    期待高手
      

  3.   

    优惠劵是图片吧,文件很小,所以可以完全不用考虑客户端是否已经下载完毕,实际上用户平均不用到1秒钟就把该文件下载好了,这种情况下,就无需考虑用户在下载过程中出现中断情况,下载中断情况只有在大文件传输的时候才需要考虑。所以只要客户点击确定下载,“确定下载”操作必须是点击之后就马上开始下载文件,在downfile.php(即获取文件url的最终文件)成功向客户端传输文件url后,程序就认定用户已经下载。这样子基本上不会出现问题了。为了更人性化,可以在用户点击“确定下载”的时候提醒用户,下载之后就不能再下载了。
      

  4.   

    优惠券有编码的,我是直接准备用水印的方式加上,不过有个缺点就是有多少个人下载就要有多少个不同编号的优惠券,感觉太浪费资源了,不晓得有没有啥子其他的方式处理........
    他们那边有太多的漏洞了,不过php就做不到判断下载是否完成??