函数名:curl_multi_remove_handle()
概述:curl_multi_remove_handle() 函数用于从多个 cURL 句柄中移除一个句柄,使其不再参与后续的多个 cURL 操作。
用法:curl_multi_remove_handle(resource $mh, resource $ch) : int
参数说明:
- $mh:一个 cURL 多个句柄资源;
- $ch:要从多个句柄中移除的句柄资源。
返回值:返回一个成功移除句柄的标志,成功返回 CURLM_OK(值为0),失败返回一个 cURL 错误代码。
示例代码:
// 创建 cURL 多个句柄
$mh = curl_multi_init();
// 创建第一个 cURL 句柄
$ch1 = curl_init('http://example.com/url1');
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
// 创建第二个 cURL 句柄
$ch2 = curl_init('http://example.com/url2');
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
// 将两个句柄添加到多个句柄资源中
curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);
// 运行多个句柄,并等待执行完毕
$running = null;
do {
curl_multi_exec($mh, $running);
} while ($running > 0);
// 移除一个句柄
curl_multi_remove_handle($mh, $ch2);
// 关闭多个句柄资源
curl_multi_close($mh);
在上述示例中,我们创建了两个 curl 句柄 $ch1
和 $ch2
,然后将它们添加到多个句柄 $mh
中。然后我们使用 curl_multi_exec()
运行多个句柄,直到所有请求执行完毕。
在执行完成后,我们使用 curl_multi_remove_handle()
函数从多个句柄中移除一个句柄,这里我们移除了 $ch2
。最后通过 curl_multi_close()
函数关闭多个句柄资源。
请注意,使用 curl_multi_remove_handle()
函数移除之后,被移除的句柄将不再参与后续的多个 cURL 操作。