试图创建php持久的基于Web的文件下载器?

时间:2013-12-02 14:54:48

标签: php curl persistence download-manager

我试图让用户下载文件(~2GB)与公共网址一起提供给我的服务器空间供用户使用。这是我的两个问题。

Q1 :即使用户关闭浏览器,如何继续运行用户启动的任务?

Q2 :如何捕获已经运行的任务状态并向用户显示?

以下是我的用例说明。

要求

  • 用户登录 - >请求从公共网址下载文件 - >关闭浏览器
  • 用户登录 - >查看当前正在运行的下载状态+如果下载完成,请让用户将文件下载到他的本地计算机。

做了什么:使用curl能够下载到Web服务器,如果用户没有关闭浏览器,一切都很好。如果用户关闭浏览器,则无法继续处理

限制

  • 不想使用后端数据库。
  • 应该是持久的

服务器:php + apache .2 + libcurl + ubuntu 12.10

让我知道使用任何其他技术/环境是否更有意义。

1 个答案:

答案 0 :(得分:1)

要使脚本保持运行,即使浏览器已关闭,请尝试尝试:

ignore_user_abort(true);

即使用户断开连接(关闭浏览器),也应该让脚本继续运行。

来源:http://php.net/manual/en/function.ignore-user-abort.php