我有一些PHP,将抓取喜欢和分享我的页面计数。(当然,url只是一个例子。)
$url='http://mashable.com/2011/03/25/internet-music-piracy-study/';
$furl = "https://api.facebook.com/method/fql.query?query=select%20total_count%20from%20link_stat%20where%20url=%27".$url."%27&format=xml";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $furl);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$fbcount = curl_exec($ch);
curl_close($ch);如果我返回的数字是0,那么我想在我的页面中使用一个通用的facebook图标。否则,我会得到号码。基本上,如果人们不喜欢一个页面,我不想要一个巨大的零点。
<div class="burst-fb"><span><?php if ($fbcount < 1) {echo 'logo stuff';} else {echo $fbcount;}?></span></div>问题是,嗯,它不起作用。我知道这里一定有一些基本的东西我忽略了。
发布于 2011-03-30 01:40:58
来自facebook api的响应(以及$fbcount中的响应)是一个XML字符串,而不是一个数字。您需要解析响应。对不起;)。看看simpleXML吧。编辑:复制url (https://api.facebook.com/method/fql.query?query=select%20total_count%20from%20link_stat%20where%20url=%27http://mashable.com/2011/03/25/internet-music-piracy-study/%27&format=xml)并粘贴到你的浏览器中,看看你会得到什么。浏览器中应显示以下内容:
<fql_query_response list="true">
<link_stat>
<total_count>213</total_count>
</link_stat>
</fql_query_response>发布于 2011-03-30 01:33:36
摘自PHP手册:
Returns TRUE on success or FALSE on failure.
However, if the CURLOPT_RETURNTRANSFER option is set,
it will return the result on success, FALSE on failure.因此,使用===和!==操作符检查FALSE,如果您对0感兴趣,则还要检查0,而不是1。
您还可以使用var_dump查看$fbcount实际包含的内容。
发布于 2011-03-30 01:34:15
请尝试查看$fbcount的内容以了解其包含的内容。如果它不是一个数字,那么你的条件语句将不起作用。
var_dump($fbcount);在curl_close($ch);之后立即尝试此命令,它可能包含一个错误,您可以使用该错误来调试curl操作。
https://stackoverflow.com/questions/5476491
复制相似问题