使用PHP从URL下载文件(使用cookies!)并将其上传到其他地方

时间:2011-03-19 15:12:38

标签: php upload download

我目前正在开发一个需要从URL下载文件的Web服务,并将其上传到其他地方。为了能够下载文件,我必须使用cookie,所以我一直在想的是使用套接字来读取文件并在我阅读时上传它。理论代码示例:

while (!feof($downloadHandle)) {
    fwrite($uploadHandle, fread($downloadHandle, 8192));
}

问题在于,如果我在常规服务器上运行这段代码,这些文件通常会很庞大,并且会占用大量带宽。因此,我一直在考虑使用亚马逊的Web服务,因为带宽会更便宜,可扩展性更高,而且我只需支付我使用的费用。

问题在于我不知道如何最好地利用亚马逊解决这个特殊问题。我一直在考虑用PHP设置EC2实例来运行这段代码,但我不确定这是否是最合适的方式,或者是否有更好的解决方案来解决这类问题。

当我写这个问题时,我意识到我可以使用wget来下载文件。上传文件也需要cookie,并且必须通过HTTP完成,我相信wput不支持,所以我不知道有任何命令行工具。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你应该使用curl。 我认为这会对你有所帮助。 How use CURLOPT_WRITEFUNCTION when download a file by CURL

这个: http://www.php.net/manual/de/book.curl.php