FILE_GET_CONTENTS_CURL拉取错误的值

时间:2013-09-19 作者:ndru

我正在使用file\\u get\\u contents\\u curl获取facebook喜欢的帖子,并将其存储在我的数据库中。

 $fb = json_decode(file_get_contents_curl(\'http://graph.facebook.com/?id=\'.get_permalink($post->ID)));
            if( !isset( $fb->likes) && isset($fb->shares) )
            {
                $fb->likes = $fb->shares;
            }
在我添加更多帖子(现在是700多个)之前,一切都很顺利。拉拢喜欢的人需要越来越多的时间。现在,该脚本成功地为一些帖子获得了适量的Facebook赞,但对于其他一些帖子,它只是拉了一个空值。因此,一些帖子,比如说,8个FB赞,仍然会将0个FB赞的值写入数据库。

My curl函数:

function file_get_contents_curl($url) 
{
    if ( function_exists(\'curl_init\') ) 
    {
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
        curl_setopt($ch, CURLOPT_URL, $url);

        $data = curl_exec($ch);

        if ($data === FALSE) {
            $data =  "cURL Error: " . curl_error($ch);
        }

        curl_close($ch);
    } else {
        $data = $url;
    }
    return $data;
}

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

在PHP中使用curl在WordPress中被认为是不好的做法。它附带HTTP API 抽象网络请求。

如果可用,它将使用curl,但如果不可用,它仍然可以通过其他后端工作,并允许您使用WP调试插件来解决请求故障,例如Core Control.

结束