使用PHP从远程服务器下载多个图像的最佳方式

问题描述:

我一直有一些麻烦,通过http以我需要的速度从卸载服务器下载大量文件。在这种情况下,我需要获取图像,多达250组(最多36个图像)(通常更少)。我已经尝试了使用get_file_contents和copy(),两者都可以工作,但速度很慢,只需20分钟的单次运行就可以完成分钟,当所有的操作都完成后,必须运行200组,最多可以运行200组,多达36个图像。使用PHP从远程服务器下载多个图像的最佳方式

有没有更快的方式下载使用PHP的许多图像?

+2

这是一个PHP问题或带宽问题? – 2012-02-08 00:27:04

+0

你得到了什么样的吞吐量?如果您认为远程服务器可能会限制各个连接,则可能会通过启动多个下载来缩短总时间。远程服务器在您的控制之下吗? – halfer 2012-02-08 00:35:43

+0

[2.5k +文件的卷曲下载太慢]的可能的副本(http://*.com/questions/3848048/curl-download-of-2-5k-files-too-slow) - 这可能不会直接回答你的问题问题,但为你的问题提供了一些启示。寻找一个可以并行处理多个文件下载的下载客户端PHP类。其中一些基于'curl'扩展名存在。 – hakre 2012-02-08 01:12:36

如果您在* nix服务器上,请尝试使用wget的调用,而不是调用get_file_contents/copy,因为我认为这将是更有效的下载图像的方式(只是在此猜测)。

正如评论中所述,它也可能是来自服务器或远程服务器的带宽问题。这些超出了计算器的范围,你会更好地张贴在serverfault