首页 >后端开发 >php教程 >PHP cURL并发里的callback那行是什么效能

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原创
2016-06-13 11:35:22807浏览

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>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn