【问题标题】:Can't get content with file_get_contents function无法使用 file_get_contents 函数获取内容
【发布时间】:2014-05-20 01:19:54
【问题描述】:

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

$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];

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

【问题讨论】:

    标签: php file-get-contents imdb


    【解决方案1】:

    我正在检查脚本,但是嗯,你的数组没有包含任何内容,请检查:print_r($s) 输出是:

    Array ( [0] => )
    

    更新

    当你显示它显示的内容时:

    ‹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
    

    所以你的爆炸也会被检查到那个字符串。

    代码:

    $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检查代码

    好像有错误

    我认为您可以在此问题中找到更多答案: json to php array using file get contents

    【讨论】:

    • 我用 2 个链接更新了答案,您可以查看有关此答案的信息。我还没有检查它是否有效,但是在 JSONLint 上我在你的 JSON 文件中收到了一个错误
    • JSON 文件中似乎有错误。非常感谢您的帮助。
    • 没问题,我们是来帮助人们的 ;)
    【解决方案2】:

    我假设 PHP.ini 设置 allow_url_fopen 被禁用,这意味着无法使用文件族函数 (fopen,..) 打开远程 URI(即 http(s) 等)

    另请参阅its config value description,根据它是系统范围的设置,所以我认为您不能使用ini_set() 覆盖它。

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

    【讨论】:

      【解决方案3】:

      请运行 php info 检查 allow_url_fopen 是否设置为 ON

      php_info();
      

      但是使用 CURL 来获取内容,它模拟了一个实际的 Web 客户端。 请勿开启此选项,因为它不利于安全目的

      【讨论】:

        猜你喜欢
        • 2015-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-21
        • 2015-12-16
        • 2011-04-15
        • 1970-01-01
        相关资源
        最近更新 更多