首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Facebook评论循环非常非常慢

Facebook评论循环非常非常慢
EN

Stack Overflow用户
提问于 2012-12-15 02:30:15
回答 1查看 587关注 0票数 1

我使用此函数来检索Facebook对博客帖子的评论计数:

代码语言:javascript
运行
复制
function comment_count($url) { 

 $json = json_decode(file_get_contents('https://graph.facebook.com/?ids=' . $url));
 return ($json->$url->comments) ? $json->$url->comments : 0;
}

但是,如果我将其插入到一个循环中,以获取查询的结果,以便在一个页面上检索五个帖子,则此函数将严重影响网站的速度(页面加载需要6-7秒)。

有没有办法避免这种情况?为什么它这么慢?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-15 03:02:11

将以逗号分隔的URL列表传递给ids参数,以一次获得所有计数,或者将它们缓存到服务器端并使用这些值。

示例:https://graph.facebook.com/?ids=http://www.google.com,http://www.bing.com,http://www.yahoo.com

这是在Facebook的Graph API Reference中的“选择”部分指定的。

下面是一个示例实现:

代码语言:javascript
运行
复制
<?php
function comment_count($urls) {
    $json = json_decode(file_get_contents('https://graph.facebook.com/?ids=' . implode(',', array_map("rawurlencode", $urls))));
    $output = Array();
    foreach($json as $url=>$data)
    {
        $output[$url] = isset($data->comments) ? $data->comments : 0;
    }
    return $output;
}
var_dump(comment_count(Array('http://www.facebook.com/', 'http://www.google.com')));

我希望这能帮到你!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13884342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档