首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不能满足于file_get_contents函数

不能满足于file_get_contents函数
EN

Stack Overflow用户
提问于 2014-04-07 16:53:07
回答 3查看 1.8K关注 0票数 0

我想从IMDB网站获得电影评级。例如,我有一个url http://p.media-imdb.com/static-content/documents/v1/title/tt1520211/ratings%3Fjsonp=imdb.rating.run:imdb.api.title.ratings/data.json运行它,您可以看到电影评级是8.7,我想得到它,所以我使用了以下查询:

代码语言:javascript
运行
复制
$s="http://p.media-imdb.com/static-content/documents/v1/title/tt1520211/ratings%3Fjsonp=imdb.rating.run:imdb.api.title.ratings/data.json";
$s = file_get_contents($s);
$s=explode('rating":',$s);
$s=explode(',"rating',$s[1]);
echo $s[0];

但它不起作用,我不知道为什么!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-07 17:06:43

我正在签出脚本,但是您的数组没有包含任何内容,使用: print_r($s)检查它,输出是:

代码语言:javascript
运行
复制
Array ( [0] => )

已更新

当您显示内容时,它显示:

代码语言:javascript
运行
复制
‹5KOÃ0„ÿJµ'šÄvÞ9U‚.‰³›LÁ¢y`o*UUþ;v ·õÎìÌg3ôÇØj6ãgl—ñáF‡¬©¹Ñ4#ÓH µ†ÏxÛlŽödñ³ÀñKï¥4Óe*€èˆ2¤DÕŠH×U‘zÔ"‡?q°Ó¡5^5i\gÕ’Ü´Ø¡ðÀ×Ùd“žMÌ¡õŸ.ԚЗlÛ„YæJ()/l«€ù…݇>{ÿKí_0_Þa BÔÚR£„{êôè¿æ lx¤­š*.ï§iÙC—…Rb]1“$æ6

所以你的爆炸也会被检查到那根绳子上。

代码:

代码语言:javascript
运行
复制
$s="http://p.media-imdb.com/static-content/documents/v1/title/tt1520211/ratings%3Fjsonp=imdb.rating.run:imdb.api.title.ratings/data.json";
$s = file_get_contents($s);
/*$s=explode('"rating":',$b);
$s=explode('"rating":',$b[1]);
print_r($s);*/

print($s);

更新:还使用JSONLint检查代码

好像是出了差错

我想你可以在这个问题中找到更多的答案:使用文件get内容的json到php数组

票数 1
EN

Stack Overflow用户

发布于 2014-04-07 17:01:58

我假定PHP.ini设置allow_url_fopen是禁用的,这意味着不能使用文件族函数(fopen,.)打开远程URI(如http(s)等)。

也请参考其配置值描述,根据它是一个系统范围的设置,所以我认为您不能使用set()覆盖它。

或者,您可以使用cURL扩展,有关如何使用它的详细信息,请参阅其文档。

票数 1
EN

Stack Overflow用户

发布于 2014-04-07 17:26:28

请运行php信息以检查是否将allow_url_fopen设置为ON。

代码语言:javascript
运行
复制
php_info();

但是使用CURL来获取内容,这将模拟实际的web客户端。不要打开这个选项,因为它对安全没有好处

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

https://stackoverflow.com/questions/22918507

复制
相关文章

相似问题

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