(PHP 5, PHP 7, PHP 8)
curl_multi_init — Retorna um multi-manipulador cURL
Permite o processamento de manipuladores cURL múltiplos de forma assíncrona.
Esta função não possui parâmetros.
Retorna um multi-manipulador cURL.
Versão | Descrição |
---|---|
8.0.0 | Em caso de sucesso, esta função agora retorna uma instância de CurlMultiHandle; anteriormente, um recurso do tipo resource era retornado. |
Exemplo #1 Exemplo de curl_multi_init()
Este exemplo cria dois manipuladores cURL, adiciona-os a um multi-manipulador e processa-os de forma assíncrona.
<?php
// criam ambos recursos cURL
$ch1 = curl_init();
$ch2 = curl_init();
// define URL e outras opções apropriadas
curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);
//cria o multi-manipulador cURL
$mh = curl_multi_init();
//adiciona os dois manipuladores
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);
//executa o multi-manipulador
do {
$status = curl_multi_exec($mh, $active);
if ($active) {
curl_multi_select($mh);
}
} while ($active && $status == CURLM_OK);
//fecha os manipuladores
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);
?>