(PHP 5, PHP 7, PHP 8)
curl_multi_add_handle — Adiciona um manipulador cURL comum a um manipulador cURL múltiplo
Adiciona o manipulador handle
ao manipulador múltiplo
multi_handle
multi_handle
Um manipulador cURL múltiplo retornado por curl_multi_init().
handle
Um manipulador cURL retornado por curl_init().
Retorna 0 em caso de sucesso, ou um dos códigos de erros
CURLM_XXX
.
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro multi_handle agora espera uma instância de CurlMultiHandle;
anteriormente, um resource era esperado.
|
8.0.0 |
O parâmetro handle agora espera uma instância de CurlHandle;
anteriormente, um resource era esperado.
|
Exemplo #1 curl_multi_add_handle() example
Este exemplo criará dois manipuladores cURL, os adicionará a um manipulador múltiplo e os executará de forma assíncrona.
<?php
// Cria dois manipuladores cURL comuns
$ch1 = curl_init();
$ch2 = curl_init();
// Define a URL e outras opções apropriadas
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);
// Cria o manipulador cURL múltiplo
$mh = curl_multi_init();
// Adiciona os dois manipuladores comuns ao manipulador múltiplo
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);
// Executa o manipulador múltiplo
do {
$status = curl_multi_exec($mh, $active);
if ($active) {
curl_multi_select($mh);
}
} while ($active && $status == CURLM_OK);
// Fecha todos os manipuladores
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);
?>