関数・クラス解説

curl_multi_info_read

version:PHP 5, PHP 7 (公式)

現在の転送についての情報を表示する

公式リファレンス

書式

curl_multi_info_read ( resource $mh [, int &$msgs_in_queue = NULL ] ) : array

説明

マルチハンドルに対して、個別の転送にメッセージ/情報が残っているかどうかを問い合わせます。 メッセージには、転送時のエラーコードや転送が完了したという情報が残っている可能性があります。

この関数を繰り返しコールすると、毎回新しい結果を返します。FALSE が返されると、その時点でもう取得する結果がないことを意味します。 msgs_in_queue がさす値は、 この関数をコールした後に残っているメッセージの数となります。

警告

返されたリソースがさすデータは、 curl_multi_remove_handle() をコールした後には残りません。

パラメータ

mh
curl_multi_init()が返す cURL マルチハンドル。
msgs_in_queue
まだキューの中に残っているメッセージの数。

返値

成功した場合にメッセージの連想配列、失敗した場合に FALSE を返します。

配列の内容
キー
msg 定数 CURLMSG_DONE。その他の返り値は現在は存在しません。
result 定数 CURLE_* のいずれか。すべて OK なら CURLE_OK が返ります。
handle curl が扱うハンドルの型を表すリソース。

注意

警告 返されたリソースがさすデータは、 curl_multi_remove_handle() をコールした後には残りません。

サンプル

例1 curl_multi_info_read() の例

$urls = array(    "http://www.cnn.com/",    "http://www.bbc.co.uk/",    "http://www.yahoo.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);     if ($active) {         curl_multi_select($mh);     }     while (false !== ($info = curl_multi_info_read($mh))) {         var_dump($info);     } } while ($active && $status == CURLM_OK); 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)

参考

  • curl_multi_init() - 新規 cURL マルチハンドルを返す
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール