Здравствуйте, относительно недавно пишу на php и столкнулся с проблемой долгой загрузки страницы, грузит около 2 мин при кол-ве элементов больше 30. Ниже приведен код, помогите пожалуйста его оптимизировать, если есть вариант лучшей работы на другом языке, например на JS , то тоже буду рад такому примеру Код (Text): <form action="Create.php" method="post"> <?php if(isset($Steamid)) { $urlitemsjson = $_SESSION['items']; $j=0;include "webapikey.php"; $st = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=8872E21CE305FD09D43D5E21DD3A88BC&steamids={$Steamid}"); $st = (array) json_decode($st)->response->players[0]; $steamlog = $st['profileurl']; $json = file_get_contents("{$steamlog}inventory/json/570/2"); $json = json_decode($json, true); foreach ( $json["rgDescriptions"] as $movie ) {if ($movie["tradable"] != "0" || $movie["marketable"] != "0" ) { $j = $j+1; if ($j>=29) {break;};$Dota2ItemsName = $movie["name"]; $Dota2Itemsimage ='http://steamcommunity-a.akamaihd.net/economy/image/' . $movie["icon_url_large"] . '/148x99' ; $Rarity = $movie["tags"][1]["name"]; $marketname = $movie["market_hash_name"]; $classid = $movie["classid"]; include "Itemsprices.php"; echo '<div class="gaitemcreate">'; echo ' <div class="textname"> <span>' . $Dota2ItemsName .'</span> </div> ' ; include ("Itemsprices.php"); echo '<div class="gapricepost1"> ' . $price . ' </div>'; echo '<input type = "image" class="image1" src =' . $Dota2Itemsimage . ' name = "item" value = "' . $classid . '" /> </br>'; echo ' <div class="gaqualitypost1"> ' . $Rarity .' </div>'; echo '</div>'; ; };}; ;} else { echo $login; }; ?> </form> Вот Itemsprices Код (Text): <?php $ro = "http://steamcommunity.com/market/priceoverview/?country=us¤cy=1&appid=570&market_hash_name={$marketname}"; $ro = str_replace(' ', '%20', $ro); $do= @file_get_contents($ro); $jsonprice = (array) json_decode($do); $price = str_replace('USD', '', $jsonprice['lowest_price']); ?> переменную $J использую только для того, чтобы не грузить все строки Готов обсудить денежное вознаграждение
Так проверь через время что так долго работает, думаю запрос по http, если его можно закэшировать, то делай
А теперь желательно растолковать мне как чайнику, через что проверить, что долго работает, с кэшем разберусь )