Многопоточное скачивание в cURL на PHP
7 мин
В данном топике представлена на мой взгляд удобная и функциональная реализация многопоточного скачивания на cURL для PHP. Возможно кому-то она будет полезна, а мне принесёт инвайт ;)
Скачиванием через cURL не пользовался пусть даже из интереса только ленивый. Будь-то из консоли, либо реализуя код на каком-либо ЯП. Решения блокирующего скачивания одной ссылки валяются на каждом углу сети, к примеру на php.net. Однако, если рассматривать реализации на PHP, то такой подход подчас не подходит ввиду высоких временных затрат на вспомогательные операции ( dns lookup, request waiting и подобные ). Для скачивания большого числа страниц последовательный вариант не приемлем. Если устраивает — дальше можно не читать :)
Скачиванием через cURL не пользовался пусть даже из интереса только ленивый. Будь-то из консоли, либо реализуя код на каком-либо ЯП. Решения блокирующего скачивания одной ссылки валяются на каждом углу сети, к примеру на php.net. Однако, если рассматривать реализации на PHP, то такой подход подчас не подходит ввиду высоких временных затрат на вспомогательные операции ( dns lookup, request waiting и подобные ). Для скачивания большого числа страниц последовательный вариант не приемлем. Если устраивает — дальше можно не читать :)





Предположим, в среднестатистическом уездном городе N мирно уживаются два провайдера, причем один из них (П1) предлагает своим клиентам за подключение приз: бочку варенья, да пачку печенья. Следовательно, клиентов у него больше, чем у второго провайдера (П2). Но весь бюджет П1 ушел на сладости, да и канал у него не особо широкий и постоянно загружен. А канал П2 широкий, но чаще всего простаивает. П1, ясное дело, не спешит делиться своим каналом с клиентами П1. В итоге имеем 




