(PHP5)
curl_multi_info_read — 現在解析されている cURL に関連する転送情報を取得します
arraycurl_multi_info_read ( resource $mh [, int &$msgs_in_queue = NULL ] )
バッチ ハンドルをクエリして、別の送信スレッドで返されたメッセージまたは情報があるかどうかを確認します。メッセージには、個々の転送スレッドから返されたエラー コードや、単に転送スレッドが完了したかどうかなどのレポートが含まれる場合があります。
この関数は繰り返し呼び出され、情報が返されなくなりシグナルとして FALSE が返されるまで、毎回新しい結果が返されます。 msgs_in_queue によって返される整数は、この関数が呼び出された後に残るメッセージの数が含まれることを示します。
注:返されたリソースが指すデータは、curl_multi_remove_handle() を呼び出した後は存在しません。
うーん
cURL の複数のハンドルは、curl_multi_init() によって返されます。
msgs_in_queue
まだキュー内にあるメッセージの数。
成功した場合は関連情報の配列を返し、失敗した場合は FALSE を返します。
戻り値の内容 (配列の内容を返します):
鍵 | 価値 |
---|---|
メッセージ | CURLMSG_DONE 定数。他の戻り値は現在利用できません。 |
結果 | CURLE_* 定数の 1 つ。すべての動作に問題がなければ、定数CURLE_OK が返されます。 |
ハンドル | cURL リソース タイプは、それが関連するハンドルを示します。 |
<?php$urls = array( "http://www.baidu.com/", "http://www.google.com.hk/", "http://www.w3cschool.cc/"); $mh =curl_multi_init();foreach ($urls as $i => $url) { $conn[$i] =curl_init($url); CURLOPT_RETURTRANSFER, 1);curl_multi_add_handle($mh, $conn[$i]);}do { $status =curl_multi_exec($mh, $active); 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]);}var_dump( curl_multi_info_read($mh));?>
上記のルーチンの出力は次のようになります。
array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> タイプ (curl) の resource(5)}array(3) { [ "msg"]=> int(1) ["result"]=> int(0) ["handle"]=> タイプ (curl) の resource(7)}array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> タイプ (curl) の resource(6)}bool(false)
バージョン | 説明する |
---|---|
5.2.0 | msgs_in_queue が追加されました。 |