ホームページ > バックエンド開発 > PHPチュートリアル > PHP cURL并发里的callback那行是什么效能

PHP cURL并发里的callback那行是什么效能

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 11:35:22
オリジナル
805 人が閲覧しました

PHP cURL并发里的callback那行是什么功能?

function rolling_curl($urls, $delay) {<br>    $queue = curl_multi_init();<br>    $map = array();<br> <br>    foreach ($urls as $url) {<br>        $ch = curl_init();<br> <br>        curl_setopt($ch, CURLOPT_URL, $url);<br>        curl_setopt($ch, CURLOPT_TIMEOUT, 1);<br>        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br>        curl_setopt($ch, CURLOPT_HEADER, 0);<br>        curl_setopt($ch, CURLOPT_NOSIGNAL, true);<br> <br>        curl_multi_add_handle($queue, $ch);<br>        $map[(string) $ch] = $url;<br>    }<br> <br>    $responses = array();<br>    do {<br>        while (($code = curl_multi_exec($queue, $active)) == CURLM_CALL_MULTI_PERFORM) ;<br> <br>        if ($code != CURLM_OK) { break; }<br> <br>        // a request was just completed -- find out which one<br>        while ($done = curl_multi_info_read($queue)) {<br> <br>            // get the info and content returned on the request<br>            $info = curl_getinfo($done['handle']);<br>            $error = curl_error($done['handle']);<br>            $results = callback(curl_multi_getcontent($done['handle']), $delay);<br>            $responses[$map[(string) $done['handle']]] = compact('info', 'error', 'results');<br> <br>            // remove the curl handle that just completed<br>            curl_multi_remove_handle($queue, $done['handle']);<br>            curl_close($done['handle']);<div class="clear">
                 
              
              
        
            </div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート