English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
(PHP 5)
curl_multi_info_read — 현재 해석 중인 CURL의 관련 전송 정보를 가져옵니다
array curl_multi_info_read ( resource $mh [, int &$msgs_in_queue = NULL ] )
batch 처리 핸들이 별도의 전송 스레드에서 메시지나 정보가 반환되지 않는지 확인합니다. 메시지는 별도의 전송 스레드에서 반환된 오류 코드나 전송 스레드가 완료되었는지 여부와 같은 보고서를 포함할 수 있습니다.
이 함수를 반복 호출하면, 매번 새로운 결과를 반환하며, 더 이상 정보가 반환되지 않을 때까지 FALSE가 신호로 반환됩니다.msgs_in_queue를 통해 반환된 정수는 이 함수 호출 후에도 남아 있는 메시지 수를 나타냅니다.
주의:curl_multi_remove_handle()를 호출한 후에는 존재하지 않을 데이터를 가리키는 리소스가 반환됩니다.
mh
curl_multi_init()로 반환된 CURL 다중 핸들
msgs_in_queue
큐에 남아 있는 메시지 수
성공 시 관련 정보 배열을 반환합니다. 실패 시 FALSE를 반환합니다.
반환 값 내용(반환 배열의 내용) :
키 | 값 |
---|---|
msg | CURLMSG_DONE 고정된 값. 다른 반환 값은 현재 사용할 수 없습니다. |
result | CURLE_* 고정된 값 중 하나입니다. 모든 작업이 문제 없이 완료되면 반환됩니다.CURLE_OK 고정된 값. |
handle | CURL 자원 타입은 관련 핸들과 관련 있습니다. |
<?php $urls = array( "http://www.baidu.com/", "http://www.google.com.hk/", "http://ko.oldtoolbag.com/" ); $mh = curl_multi_init(); foreach ($urls as $i => $url) { $conn[$i] = curl_init($url); curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1); curl_multi_add_handle($mh, $conn[$i]); } do { $status = curl_multi_exec($mh, $active); $info = curl_multi_info_read($mh); if (false !== $info) { var_dump($info); } } while ($status === CURLM_CALL_MULTI_PERFORM || $active); foreach ($urls as $i => $url) { $res[$i] = curl_multi_getcontent($conn[$i]); curl_close($conn[$i]); } var_dump(curl_multi_info_read($mh)); ?>
위 예제의 출력은 다음과 같습니다:
array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> resource(5) of type (curl) } array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> resource(7) of type (curl) } array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> resource(6) of type (curl) } bool(false)
버전 | 설명 |
---|---|
5.2.0 | msgs_in_queue 가 추가되었습니다. |