【问题标题】:Download external file in background PHP?在后台PHP下载外部文件?
【发布时间】:2013-07-06 19:35:57
【问题描述】:

我有三个星期的时间来寻找这个:

我有这个页面,必须在验证用户提供的数据后下载文件。我进行验证并执行一个外部脚本,它给了我一个 URL。我使用该 URL 下载另一个文件,稍后我将执行该文件。

我尝试使用 curl、wget、file_put_content、javascript、ajax 和 jquery 下载文件,但没有成功,文件大小为 150MB+,所以我创建了一个不错的进度条来告诉用户下载进度如何并且已经有了一种读取下载大小的方法。

事实上我可以用 cURL 下载文件,但问题是 "do_form.php" 在文件完全下载之前不会加载,所以我想先加载页面,然后下载文件 -在后台-,所以我可以向用户显示下载进度。

请告诉我这是可能的...谢谢!!

【问题讨论】:

  • 那么您的解决方法是什么?我也想做同样的事情。
  • 今天我回家找代码贴出来。 :)

标签: php javascript curl background-process


【解决方案1】:

看看Gearman。也许齿轮员背景工作适合您的需求。该作业甚至可以与 Web 服务器在同一台机器上运行。当然,对页面的早期响应的缺点是它不包含成功信息。您需要再次使用 AJAX 轮询该信息。

如果您决定这样做,您还应该查看GearmanManager,因为这会大大简化事情。

【讨论】:

  • Gearman 很棒,您可能还想考虑 beanstalkd,这是一个非常好用的 PHP 工具。
  • 谢谢各位,我检查了两个解决方案,但我的老板不想安装任何额外的软件。所以我仍在寻找答案......(我想我有一个解决方法,但我需要先测试它,所以欢迎任何答案或评论)
猜你喜欢
  • 1970-01-01
  • 2012-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多