Home » Php » parallel downloads in PHP

parallel downloads in PHP

Posted by: admin July 12, 2020 Leave a comment

Questions:

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?

How to&Answers:

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

Answer:

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.

Answer:

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

Answer:

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

btw. you’re looking for non blocking connections.