views:

42

answers:

4

Hi, I want to download (or simply file_get_contents) for 5 places. I wait say 1.2 sec for each that means in total 1.2X5=6 seconds. I want to save waiting time. I thought I could wait 1.3 sec is enough. How can I approach?

+1  A: 

To get you started you can run the downloads in parallel by forking them into the background using php's popen: http://www.php.net/manual/en/function.popen.php

Mike
+4  A: 

You can use the curl_multi_* functions to achieve parallel downloads.

codaddict
+2  A: 

this is possible but only by creating multiple threads outside PHP

With PHP scripts run in a single thread, meaning that it can only do 1 task at a time, the only way you can do this with PHP is by creating / using an external application installed / placed on your server and using exec to do this and waiting for a response from the exec, or using the fork_* functions to be able to dip and dive in and out of threads.

RobertPitt
A: 

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

btw. you're looking for non blocking connections.

Tobias