curl响应在php中没有显示任何内容

时间:2014-10-29 07:51:12

标签: php codeigniter curl

我正在尝试使用curl从网址获取数据。我为此做了一个递归函数。我成功地获得了数据,但我面临的问题是,当没有找到针对curl调用的结果时,页面没有显示任何内容,只显示空白页面..根本没有错误。我也使用var_dump()来测试响应。但一无所获。

这是我的递归函数

function recursive_get_scrap($offset, $page_size, $urls, $original_array){

    ini_set('max_execution_time', 1800);
    $of_set = $offset;
    $pg_size = $page_size;

    $off_sets = 'offset='.$of_set.'&page_size='.$pg_size.'';
    $url = $urls.$off_sets;        

    $last_correct_array = $original_array;

    $ch1 = curl_init();
    // Disable SSL verification
    curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, false);
    // Will return the response, if false it print the response
    curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);        

    curl_setopt($ch1, CURLOPT_HEADER, 0);
    curl_setopt($ch1, CURLOPT_FOLLOWLOCATION, 1);

    curl_setopt($ch1, CURLOPT_URL,$url);
    // Execute
    $result2 =  curl_exec($ch1);

    $info   =   curl_getinfo($ch1);

    if(curl_errno($ch1))
        {
            echo 'error:' . curl_error($ch1);
            //return $last_correct_array;
        }


    // Closing    
    curl_close($ch1);



   if(!$result2 || strlen(trim($result2)) == 0 || $result2 == false){

        echo 'no array'; 
    }

    if(isset($result2) && !empty($result2)){

        echo 'in recursive function <br>';
        $a1 = json_decode( $original_array, true );
            $a2 = json_decode( $result2, true );                


                $temp_array = array_merge_recursive($a1, $a2 );                   

                $last_correct_array = $temp_array;
                $offset += 100;
                $page_size = 100;

                recursive_get_scrap($offset, $page_size, $urls, json_encode($last_correct_array));                                                 
    }


}

现在我只想要它,如果注意到反对curl调用,则应显示no array消息。

1 个答案:

答案 0 :(得分:0)

将此选项用于curl_setopt():

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

这将使curl_exec返回数据而不是输出数据。

要查看它是否成功,您可以检查$ result以及

curl_error().