PHP中的并行下载

时间:2010-10-28 18:37:25

标签: php download parallel-processing

我想下载(或只是file_get_contents)5个地方。我等了1.2秒,这意味着总共1.2X5 = 6秒。我想节省等待时间。我以为我可以等1.3秒就足够了。我该如何处理?

4 个答案:

答案 0 :(得分:8)

您可以使用curl_multi_*功能实现并行下载。

答案 1 :(得分:2)

这是可能的,但只能在PHP之外创建多个线程

PHP脚本在单个线程中运行,这意味着它一次只能执行1个任务,使用PHP执行此操作的唯一方法是创建/使用安装/放置在服务器上的外部应用程序并使用exec执行此操作并等待exec的响应,或使用fork_ *函数来跳入和跳出线程。

答案 2 :(得分:1)

为了让您入门,您可以使用php的popen将它们分配到后台并行运行下载:http://www.php.net/manual/en/function.popen.php

答案 3 :(得分:0)

http://code.google.com/p/multicurl-library/

顺便说一句。你正在寻找非阻塞连接。