За последние 24 часа нас посетили 60254 программиста и 1809 роботов. Сейчас ищут 2286 программистов ...

Оптимизация кода, помощь

Тема в разделе "Прочие вопросы по PHP", создана пользователем Njoy14, 2 мар 2015.

  1. Njoy14

    Njoy14 Новичок

    С нами с:
    2 мар 2015
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте, относительно недавно пишу на php и столкнулся с проблемой долгой загрузки страницы, грузит около 2 мин при кол-ве элементов больше 30. Ниже приведен код, помогите пожалуйста его оптимизировать, если есть вариант лучшей работы на другом языке, например на JS , то тоже буду рад такому примеру


    Код (Text):
    1. <form action="Create.php" method="post">
    2. <?php
    3.  if(isset($Steamid)) { $urlitemsjson = $_SESSION['items'];
    4. $j=0;include "webapikey.php";          
    5. $st = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=8872E21CE305FD09D43D5E21DD3A88BC&steamids={$Steamid}");
    6. $st = (array) json_decode($st)->response->players[0];
    7. $steamlog = $st['profileurl'];            
    8. $json = file_get_contents("{$steamlog}inventory/json/570/2");
    9. $json = json_decode($json, true);
    10. 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"];
    11. include "Itemsprices.php"; echo '<div class="gaitemcreate">';
    12. echo ' <div class="textname">
    13. <span>' .  $Dota2ItemsName .'</span> </div> ' ;
    14. include ("Itemsprices.php");
    15. echo '<div class="gapricepost1">
    16.                ' . $price . '
    17.                 </div>';
    18. echo '<input type = "image" class="image1" src =' . $Dota2Itemsimage . ' name = "item" value = "' . $classid . '" /> </br>';
    19. echo ' <div class="gaqualitypost1">
    20.                    ' .  $Rarity .'
    21.                 </div>';
    22. echo '</div>';
    23. ; };}; ;} else { echo $login;
    24. };
    25.  ?>
    26. </form>
    Вот Itemsprices

    Код (Text):
    1. <?php
    2. $ro = "http://steamcommunity.com/market/priceoverview/?country=us&currency=1&appid=570&market_hash_name={$marketname}";
    3. $ro = str_replace(' ', '%20', $ro);
    4. $do= @file_get_contents($ro);
    5. $jsonprice = (array) json_decode($do);
    6. $price = str_replace('USD', '', $jsonprice['lowest_price']);
    7. ?>
    переменную $J использую только для того, чтобы не грузить все строки
    Готов обсудить денежное вознаграждение
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Так проверь через время что так долго работает, думаю запрос по http, если его можно закэшировать, то делай
     
  3. Njoy14

    Njoy14 Новичок

    С нами с:
    2 мар 2015
    Сообщения:
    3
    Симпатии:
    0
    А теперь желательно растолковать мне как чайнику, через что проверить, что долго работает, с кэшем разберусь )
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Поищи как в php замерять время
     
  5. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.