У меня функция которая выбирает предмет, повторно только после того как пройдет 2 минуты(Засекал) Что не так с кодом? Почему 2 минуты тайминг?Или в функции все ок и проблема где то в другой части кода?(Я предполагал, что каким то образом функция хэшируется и из-за это не выбирается новый предмет) Помогите хоть предположениями. (Функция, как я понимаю, должна выбирать предметы и фильтруя их выдавать один.) PHP: function getSteamInventory($id, $items){ global $Functions; $json = json_decode(file_get_contents("http://steamcommunity.com/id/".$id."/inventory/json/730/2?l=russian"),true); if(isset($json['rgDescriptions'])){ $new = []; foreach($json['rgDescriptions'] as $key => $botInv){ foreach($items as $i){ $str = $i['weapon'].' | '.$i['name']; if(strpos($botInv['market_hash_name'], $str) !== false || strpos($botInv['name'], $str) !== false){ if(strpos($botInv['market_hash_name'], "StatTrak™") !== false){ $i['stattrak'] = "true"; }else{ $i['stattrak'] = "false"; } $i['market_hash_name'] = $botInv['market_hash_name']; $i['inventory_id'] = $key; foreach($json['rgInventory'] as $rgInv){ if($rgInv['classid'] == $botInv['classid'] && $rgInv['instanceid'] == $botInv['instanceid']){ $i['weaponid'] = $rgInv['id']; break; } } $checkDrop = $Functions->db->query("SELECT * FROM drops WHERE inventoryid = '".$key."' ORDER BY id DESC LIMIT 1"); if($checkDrop->num_rows !== 0){ $checkDrop = $checkDrop->fetch_object(); if($checkDrop->status == 2){ $new[] = $i; }else{ continue; } }else{ $new[] = $i; } } } } if(count($new) == 0){ return false; }else{ return $new; // предмет, как я полагаю? } }else{ return false; }
Больше никто не поможет? --- Добавлено --- Кстати, написан код под php5. У меня сейчас php7. Может в этом проблема?
А то что на steamcommunity может стоять ограничение в 2 минуты не вариант? Попробуйте запросы в адресной строке браузера. Первые 3 раза с произвольным id дает json (в ответе ошибка "Error":"Этот профиль скрыт."), а потом в течении 2х минут null
Я предполагал, что такое возможно.Проверял в строке браузера, но сейчас подумал, мб у меня браузер хэширует...