我想下载(或只是file_get_contents)5个地方。我等了1.2秒,这意味着总共1.2X5 = 6秒。我想节省等待时间。我以为我可以等1.3秒就足够了。我该如何处理?
答案 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/
顺便说一句。你正在寻找非阻塞连接。