2013-02-22 42 views
0

我想存儲curl_multi_exec記錄到一個變量,但它沒有爲我工作後使用CURLOPT_RETURNTRANSFER = TRUE,然後我做了一些研究,並添加curl_multi_getcontent這工作正常我的意思是它的記錄值爲變量,但問題是它只在變量中存儲少量結果。curl_multi_getcontent給我較少的結果

$ch = curl_init(); 
    curl_setopt_array($ch, array(
     CURLOPT_URL => $stream_url, 
     CURLOPT_ENCODING => "gzip", 
     CURLOPT_FOLLOWLOCATION => true, 
     CURLOPT_HTTPAUTH => CURLAUTH_BASIC, 
     CURLOPT_TIMEOUT => 10, 
     CURLOPT_USERPWD => $user.":".$pass, 
     CURLOPT_WRITEFUNCTION => "print_out_data", 
     //CURLOPT_RETURNTRANSFER => true, 
     CURLOPT_VERBOSE => true // uncomment for curl verbosity 

    )); 

    $running = null; 

    $mh = curl_multi_init(); 
    curl_multi_add_handle($mh, $ch); 


    do { 
     curl_multi_select($mh, 1);  
     curl_multi_exec($mh, $running); 
     $content = curl_multi_getcontent($ch); 

      $arr = json_decode($content, true); 
     // print_r($arr); 
      $foo = $arr['id']; 
      $bar = $arr['body']; 

    } while($running > 0); 

    curl_multi_remove_handle($mh, $ch); 
    curl_multi_close($ch); 

回答

2

DO {}而()之前寫

$content = array(); 

$content = curl_multi_getcontent($ch); 

替換爲

$content[] = curl_multi_getcontent($ch); 

你的循環寫入後

print_r($content);