牛牛在线工具

curl_multi_add_handle()

收录 8868 个 PHP 函数,含用途说明与用法示例。

curl_multi_add_handle()

将单个 cURL 句柄添加到 curl 多个句柄中,使多个 cURL 请求可以同时进行

函数名称:curl_multi_add_handle() 适用版本:PHP 5, PHP 7 函数描述:curl_multi_add_handle() 函数将单个 cURL 句柄添加到 curl 多个句柄中,使多个 cURL 请求可以同时进行。 语法:bool curl_multi_add_handle ( resource $mh , resource $ch ) 参数: $mh:必需。curl 多个句柄资源,通过 curl_multi_init() 函数创建。 $ch:必需。单个 cURL 句柄资源,通过 curl_init() 函数创建。 返回值: 该函数返回一个布尔值,表示是否成功将 cURL 句柄添加到 curl 多个句柄中。如果成功,则返回 true;否则返回 false。 示例: // 创建 curl 多个句柄 $mh = curl_multi_init(); // 创建第一个 cURL 句柄 $ch1 = curl_init("https://www.example.com/api1"); curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true); curl_multi_add_handle($mh, $ch1); // 创建第二个 cURL 句柄 $ch2 = curl_init("https://www.example.com/api2"); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); curl_multi_add_handle($mh, $ch2); // 并发执行多个 cURL 请求 $running = null; do { curl_multi_exec($mh, $running); } while ($running > 0); // 关闭所有句柄 curl_multi_remove_handle($mh, $ch1); curl_multi_remove_handle($mh, $ch2); curl_multi_close($mh); 上述示例中,我们首先使用 curl_multi_init() 函数创建了一个 curl 多个句柄资源 $mh。然后使用 curl_init() 函数创建了两个 cURL 句柄资源 $ch1 和 $ch2,分别用于发送两个不同的 API 请求。接着使用 curl_multi_add_handle() 函数将这两个 cURL 句柄添加到 curl 多个句柄中。最后,通过循环调用 curl_multi_exec() 函数来并发执行这两个请求,直到所有请求都完成。最后,使用 curl_multi_remove_handle() 函数将句柄从多个句柄中移除,并调用 curl_multi_close() 函数关闭多个句柄。 请注意,在使用 curl_multi_add_handle() 函数之后,需要使用 curl_multi_exec() 函数来实际发送请求。而在 curl_multi_remove_handle() 函数之前,必须等待所有请求完成,可以通过检查 curl_multi_exec() 函数的返回值来判断是否还有请求正在进行。