Я начал возиться со 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"
}
]
}
}
Но «????» в имени персонажа все портит, так как оно работает для всех остальных без него :/ Это эмоция-призрак, то же самое происходит с другим другом, использующим эмоцию обезьяны в своем имени.
Кто-нибудь знает, как я могу это решить?
file_get_contents
вызывает это (PHP не очень хорошо сообщает об ошибках), я предполагаю, чтоjson_decode
не может анализировать странные символы, вы можете замените не символы utf-8 в содержимом, а затемjson_decode
строку - person Bogdan Kuštan   schedule 19.03.2015file_get_contents
, все равно вызывает это :/ - person Michael   schedule 19.03.2015json_decode
, или это плохая идея? - person Michael   schedule 19.03.2015file_get_contents
также работает, когда оно находится в отдельном файле:/ Хм - person Michael   schedule 19.03.2015PRINT_R
.... тогда он работает нормально, сумасшедший. Но все еще не в моей функции - person Michael   schedule 19.03.2015