【问题标题】:How can I download and upload a file at the same time?如何同时下载和上传文件?
【发布时间】:2016-08-09 21:21:50
【问题描述】:

这是一件事-外部服务器上有一个文件。 我的脚本需要将此文件的内容发送给访问者。 所以它需要从外部服务器下载一个文件,然后上传给访问者。但是文件很大(> 200 MB),所以我不能先下载文件然后上传它——它太慢了。而且我还需要支持恢复下载。 这就是我不知道如何正确处理的问题。

一个想法是:

  1. 启动wget在后台下载文件
  2. 然后是我的脚本 在 PHP 中将在下载文件时发送文件的内容。 但是如果 wget 比客户端的浏览器慢怎么办?我的脚本应该 等等?

另一个:

  1. 在 PHP 中使用 curl 下载文件并在进度输出我下载的内容。但是我不确定如何处理恢复

我不确定我应该如何处理这种情况。

【问题讨论】:

  • 你知道什么是代理吗?
  • @Dagon 我愿意。您认为我应该编写自己的代理还是有我可以这样配置的代理?
  • 我认为这很广泛,但如果你用谷歌搜索“php代理”,你可能会找到答案
  • 200MB 对于服务器到服务器的传输来说并不是那么大,所以除非源端存在真正的延迟问题,否则同步处理它很可能会容易得多(即,先下载)。如前所述,这是一个相当广泛的问题,我想最佳解决方案的细节也取决于文件类型。如果您可以预测最有可能请求哪些文件,您也可以探索一些机会主义策略。

标签: php curl wget


【解决方案1】:

我认为一种方法是使用两个不同的套接字。其中一个下载数据并将读取的字节放入缓冲区中,另一个套接字读取这些数据并将这些数据发送到您要上传文件的服务器。

【讨论】:

    猜你喜欢
    • 2017-10-06
    • 2011-06-20
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    • 2017-03-12
    相关资源
    最近更新 更多