AFAIK, нет никакого способа сделать это с помощью cURL.Функции curl_multi_*
позволят вам сделать несколько асинхронных запросов и проверить их текущее состояние, но только в той степени, в которой они сообщат вам, завершены ли они / каков их текущий уровень ошибки.
Вы не можете получитьИнформация о скорости / скачано / осталось от cURL.Вам придется написать свою собственную логику HTTP-запроса, используя fsockopen () или аналогичную, тогда вы можете включить логику, чтобы обновлять какое-то отображение где-то в процессе выполнения запроса.Это имеет тот недостаток, что намного труднее сделать асинхронный - из-за отсутствия многопоточной поддержки PHP вам придется использовать exec()
или pcntl_fork()
и создать некую ужасную архитектуру IPC.
Я делал подобные вещи раньше, и мое честное мнение состоит в том, что это не стоит усилий.Если вы все еще хотите пойти дальше и сделать это, я откопаю некоторые вещи, которые я использовал, когда делал это.