PHP file_get_contents超出最大执行时间(表情原因?)

时间:2015-03-19 08:15:30

标签: php json api file-get-contents steam

我之前开始使用Steam API,我使用GetPlayerSummaries方法创建了一个显示配置文件信息的简单网站。它一直很好用,直到我的一些朋友开始在他们的名字中添加iOS表情,这导致以下结果:

  

致命错误:第137行的文件超出了300秒的最长执行时间

这就是文件中该行的内容:

public function getPlayerSummary($steamid) {
    $contents = file_get_contents( "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=".SteamAPI_APIKey."&steamids=".$steamid );
    $json = json_decode($contents, true);

    foreach($json['response']['players'] as $key => $value) {
        ...
    }
}

(这是一个函数,调用函数时定义了$ steamid)

这应该返回(JSON):

{
"response": {
    "players": [
        {
            "steamid": "_removed_",
            "communityvisibilitystate": 3,
            "profilestate": 1,
            "personaname": "_removed_ ",
            "lastlogoff": 1426734965,
            "profileurl": "http://steamcommunity.com/id/_removed_/",
            "avatar": "_removed_",
            "avatarmedium": "_removed_",
            "avatarfull": "_removed_",
            "personastate": 0,
            "realname": "_removed_",
            "primaryclanid": "_removed_",
            "timecreated": 1349251405,
            "personastateflags": 0,
            "loccountrycode": "DE"
        }
    ]

}

}

但""在个人名单中,它会混淆,因为它适用于没有它的其他人:/这是一个幽灵表情,同样的情况发生在另一个朋友的名字中使用猴子表情。

有人会知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

将以下行放在php文件的顶部,

ini_set("max_execution_time", 0);

答案 1 :(得分:0)

注意:

如果要打开带有特殊字符的URI,例如空格,则需要使用urlencode()对URI进行编码。

http://php.net/manual/en/function.file-get-contents.php