Php 下载计数器功能不准确

Php 下载计数器功能不准确,php,mysql,laravel,nginx,Php,Mysql,Laravel,Nginx,我们使用一个普通的PHP下载脚本(带有标题等)向用户提供文件 但问题是,对于某些浏览器和大型下载,下载脚本会被多次请求。NGINX日志显示带有206状态代码的请求(建议分块流式处理?),这很奇怪,因为我们不提供任何可流式处理的内容 无论如何,这意味着下载脚本会被多次请求,因此每次下载都会多次运行MySQL函数+1'ing文件的下载计数器 我们尝试使用会话,但由于下载与外部服务器+域断开,我们无法在设置会话后清除所述会话 我们正在将Laravel与NGINX+MySQL一起使用,如有任何帮助,我们

我们使用一个普通的PHP下载脚本(带有标题等)向用户提供文件

但问题是,对于某些浏览器和大型下载,下载脚本会被多次请求。NGINX日志显示带有206状态代码的请求(建议分块流式处理?),这很奇怪,因为我们不提供任何可流式处理的内容

无论如何,这意味着下载脚本会被多次请求,因此每次下载都会多次运行MySQL函数+1'ing文件的下载计数器

我们尝试使用会话,但由于下载与外部服务器+域断开,我们无法在设置会话后清除所述会话


我们正在将Laravel与NGINX+MySQL一起使用,如有任何帮助,我们将不胜感激。谢谢

查看规范和请求的标题,最终会得到206响应,有一个标题删除了,看起来很完美

所讨论的标题是
内容范围
标题,可能如下所示:

Content-Range: bytes 21010-47021/47022
这意味着它想从47022字节中获取21010-47021字节。你需要担心的是这里的第一个数字,以及它是否为0。如果设置了标头,并且第一个数字是0,则可以假定它刚刚开始下载,并且应该递增计数器