我有一个简单的文件上传服务,用PHP编写,其中还包括一个脚本,当用户请求从该站点下载时,通过发送有限大小的数据包来控制下载速度.

我想实现一个系统,如果他们不是高级会员,则将并行/同时下载限制为每个用户1个.在上面的下载脚本中,我可以使用MySQL数据库来存储具有以下内容的记录:(1)用户ID; (2)文件ID; (3)下载启动时; (4)当发送最后一个数据包时,每次完成时更新(如果DL速度限制在150 kB / sec,那么在每150 kB之后,此记录将被更新,等等).

但是,到目前为止,只有在下载成功完成后才会删除数据库记录 – 在脚本结束时,在完全下载完成后,将从表中删除记录:

insert DB record;

while (download is being served) {

serve packet of data;

update DB record with current date/time;

}

// Download is now complete

delete DB record;

我如何能够检测下载何时被取消?如果现有的下载记录超过X分钟/小时,我是否只需要有一个Cron作业(或类似的东西)检测?或者我还能做些什么,我错过了?

我希望我已经解释得这么好了.我认为不需要发布特定代码;我更关心如何/是否可以这样做的后勤工作.如果需要具体,我很乐意提供.

注意:我知道如何检测文件是否已成功下载;我需要知道如何检测它是否被取消,中止或以其他方式停止(并且不仅仅是暂停).这将有助于停止并行下载,以及防止用户取消下载#1并尝试启动下载#2的情况,只是发现该网站声称他仍在下载文件#1.

编辑:你可以在这里找到我的下载脚本:http://codetidy.com/1319/ – 它已经支持多部分下载和下载恢复.

php并行下载文件,php – 限制并行/同时下载 – 如何知道下载是否被取消?相关推荐

  1. 小程序配置阿里云OSS下载文件,在请求头里配置生成强制下载链接,(拿到下载链接可以下载文件至本地)

    小程序配置阿里云OSS下载文件,在请求头里配置生成强制下载链接,(拿到下载链接可以下载文件至本地)(Win10电脑开发环境)**这里只说明小程序端问题**<菜鸡总结大神勿喷!蟹蟹~> 大体 ...

  2. Linux使用SSH上传下载文件,linux下用ssh上传,下载文件

    一,ssh上传文件 scp file username@hostIP:文件地址 例: [zhangy@BlackGhost ~]$ scp test.sql zhangying@192.168.1.5 ...

  3. python模拟浏览器下载文件_python第一个脚本,模拟浏览器下载文件 | 学步园

    用wget命令下载文件总是失败.用python脚本模拟浏览器下载,代码如下: #!/usr/bin/python import sys from urllib import FancyURLopene ...

  4. python从服务器下载文件_如何用Python从本地服务器下载文件

    下面的示例演示如何通过tcp从服务器下载文件. 客户代码:import socket import os HOST = 'localhost' PORT = 1024 downloadDir = &q ...

  5. python模拟浏览器下载文件_python第一个脚本,模拟浏览器下载文件

    用wget命令下载文件总是失败.用python脚本模拟浏览器下载,代码如下: #!/bin/python # -*- coding: utf-8 -*- __author__ = 'wulong' i ...

  6. ie11 java 下载文件_java – 通过Selenium在Microsoft Edge中下载文件

    我必须自动化一个案例,我必须使用Selenium WebDriver和跨浏览器下载文件. 我已经为Chrome(通过ChromeOptions),FF(通过FirefoxProfile)和IE11做了 ...

  7. 在linux用utorrent下载文件,在Ubuntu 10.04下使用uTorrent下载六维空间资源

    前面有一篇文章提到了在Ubuntu下设置IPv6的环境(见 http://www.linuxidc.com/Linux/2012-06/63050.htm ),来登录六维空间(只有教育网的用户才能登录 ...

  8. ubuntu服务器下载文件|aria2|百度网盘直链下载崩溃

    最常用的还是ssh传输文件 查看ubuntu服务器当前路径可以在terminal命令行使用 pwd (base) yanxudembp:~ yanxu$ pwd /Users/yanxu 如果是mac ...

  9. linux上下载文件夹命令,linux命令(上传下载文件)

    1.从服务器上下载文件 scp username@servername:/path/filename /var/www/local_dir(本地目录) 例如scp root@192.168.0.101 ...

最新文章

  1. Confluence 6 配置文件和key
  2. python-函数式编程
  3. Follow me!百万奖金由你拿 | 精准资助机器学习(三)
  4. Fast Stone超好用的截图工具,可截取长图,带滚动条的页面
  5. 2021年中国计算机视觉人才调研开启啦,诚邀各位开发者们参与~
  6. 剪映专业版 下载与安装介绍
  7. 三星Galaxy S21 FE现身Geekbench:骁龙888+6GB运存
  8. 【讨论帖】你认为怎么注释是比较合理妥当的方式
  9. No.0_Team C#
  10. 局域网传文件_超好用的文件传输工具!
  11. 播放m3u8视频,用小米浏览器播放m3u8视频
  12. 盛世乐居回应近期股价波动
  13. 昆明oracle考试点,Oracle认证考试知识点:修改sid的步骤
  14. Spring Boot Actuator 端点启用和暴露
  15. 米思齐呼吸灯与可调节灯实验
  16. 基于三维激光扫描技术的古建筑保护
  17. Excel设置背景页码
  18. 杰理之二代手表原理图【篇】
  19. chinapay支付接口php,php的chinapay扩充安装 - chinapay
  20. MySQL数据库安装

热门文章

  1. iphone 方法总结
  2. java移除input焦点_java – Eclipse editText在按下完成后删除焦点(光标)
  3. 信息学奥赛一本通(1190:上台阶)
  4. 最大公约数和最小公倍数问题(洛谷-P1029)
  5. A+B Problem(高精)(洛谷-P1601)
  6. 哥德巴赫猜想(信息学奥赛一本通-T1157)
  7. 安卓系统分屏相关修改思路
  8. 模型计算量(FLOPs)和参数量(Params)的理解
  9. 04_使用Influxdb自带函数查询
  10. Canvas-drawImage 绘制图片模糊问题