Я начал возиться с Steam API немного назад, и я сделал простой сайт, показывающий информацию профиля, используя метод GetPlayerSummaries. Это работало отлично, пока некоторые из моих друзей не начали добавлять эмоции iOS в свое имя, что приводит к следующему:
Фатальная ошибка: Максимальное время выполнения 300 секунд превышено в файл по линии 137
Это то, что находится на этой строке в файле:
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"}
]
}
}
Но «» в имени персонажа портит его, так как оно работает для всех остальных без него: / Это эмоция призрака, то же самое происходит с другим другом, использующим эмоцию обезьяны в своем имени.
Кто-нибудь знает, как я могу решить эту проблему?
поместите следующую строку вверху файла php,
ini_set("max_execution_time", 0);
Замечания:
Если вы открываете URI со специальными символами, например пробелами, вам нужно закодировать URI с помощью urlencode ().