【PHP】下らねぇ質問はID出して書き込みやがれ 109
■ このスレッドは過去ログ倉庫に格納されています
0108nobodyさん
2011/08/01(月) 01:57:25.84ID:r8kgX+8j今まではcurl_multi_add_handleでハンドルをマルチハンドルに追加した後
do{curl_multi_exec($mh,$running);}while($running);で待っていればいいと思っていたのですが
公式見るとまるで違う処理をしていました
http://php.net/manual/ja/function.curl-multi-exec.php の例の// ハンドルを実行します〜// ハンドルを閉じますまで
curl_multi_execの戻り値のCURLM_CALL_MULTI_PERFORMや
何故一度目のwhileが終わった後二重のwhileをしているのか
どのタイミングでどこに処理が行っているのかがまるで読めません
定義済み定数のページを見ても(英語版にも)CURLM_CALL_MULTI_PERFORMやCURLM_OKが
具体的にどのような状態を表すのかが読み取れませんでした。というか書いてありませんでした
http://www.php.net/manual/ja/curl.constants.php
そして検索しても、このサンプルを丸コピしているサンプルサイトしか引っかかりませんでした。
// ハンドルを実行します
01:do{
02: $mrc = curl_multi_exec($mh, $active);
03:}while($mrc == CURLM_CALL_MULTI_PERFORM);
04:while($active && $mrc == CURLM_OK) {
05: if(curl_multi_select($mh) != -1) {
06: do{
07: $mrc = curl_multi_exec($mh, $active);
08: } while ($mrc == CURLM_CALL_MULTI_PERFORM);
09: }
10:}
この各行がどのような流れで処理されるのかの解説をお願いできますでしょうか
特に3行目、4行目、8行目のループが何を待っているのか、5行目のifは何を分岐しているのか・・・
■ このスレッドは過去ログ倉庫に格納されています