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 ] )
バッチ処理ハンドルが別のトランスポータススレッドにメッセージや情報が返されるかどうかを確認します。メッセージには、別のトランスポータススレッドからのエラーコードやトランスポータススレッドが完了したかどうかなどの報告が含まれることがあります。
この関数を繰り返し呼び出すと、新しい結果が返されるまで、FALSEが信号として返されます。msgs_in_queueを通じて返される整数は、この関数が呼び出された後にまだメッセージが含まれているかどうかを示します。
注意:curl_multi_remove_handle()が呼び出された後、返されるリソースが指すデータは存在しなくなります。
mh
curl_multi_init() から返される CURL 多重ハンドル。
msgs_in_queue
キューに残っているメッセージの数。
成功時には関連情報の配列が返されます、失敗時にはFALSEが返されます。
返値の内容(返される配列の内容) :
キー | 値 |
---|---|
msg | CURLMSG_DONE 定数。他の返値は現在利用不可能です。 |
result | CURLE_* 定数の1つ。全ての操作が問題なく完了した場合、返されます。CURLE_OK 定数。 |
handle | CURLリソースタイプは、それに関連するハンドルを示します。 |
<?php $urls = array( "http://www.baidu.com/", "http://www.google.com.hk/", "http://ja.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 追加されました。 |