从facebook xml获取数据

时间:2012-02-20 00:49:47

标签: php facebook http-get

我遇到了问题,我正在尝试获取一些指向我网站的唯一链接的数据。

当人们查看例如:video.php?id = 23时,我希望脚本使用$_GET['id']获取该网站的数据。

这是我的剧本,我已经尝试了一切。希望你能帮助我!

<?php
$vidurl = $_GET['id'];
function fb_count() {
global $fbcount;
$facebook = file_get_contents('http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.fniis.dk/video.php?id=$vidurl');
$fbbegin = '<share_count>'; $fbend = '</share_count>';
$fbpage = $facebook;
$fbparts = explode($fbbegin,$fbpage);
$fbpage = $fbparts[1];
$fbparts = explode($fbend,$fbpage);
$fbcount = $fbparts[0];
if($fbcount == '') { $fbcount = '0'; }
}
fb_count();
?>

问题是它不会让我打印$ vidurl,它似乎无法工作,因为它只从以下链接获取数据:fniis.dk/video.php?id =而不是例如:fniis.dk /video.php?id=123

1 个答案:

答案 0 :(得分:0)

您的代码中存在一些问题。

首先,除非您在$vidurl内将其指定为全局,否则您将无法访问fb_count()中的fb_count()

global $vidurl;

建议您将$vidurl作为参数fb_count()传递,而不是使用global

第二次$vidurlfile_get_contents的串联不正确。您应该使用双引号而不是单引号,以便PHP处理$vidurl。在这里使用urlencode()也不会有害:

// note: using single quotes here and just concatenating with "."
$facebook = file_get_contents('http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.fniis.dk/video.php?id=' . urlencode($vidurl));

这应该让您的代码正常工作。