Попытка кешировать URL запроса без надежды
Вот мой запрос JSON. Я хочу кэшировать результат JSON в течение 1 часа на стороне сервера.
Хранить мои данные JSON в файле .json на моем PHP-сервере
Кэшируйте результат или, по крайней мере, сохраняйте его в сеансе, чтобы он не повторялся при каждой загрузке страницы.
<?php $json=file_get_contents("http://feeds.mse.mk/service/FreeMSEFeeds.svc/ticker/JSON/8BA941D0-D6E6-44BD-8D8B-47FDB7A563FA"); $data = json_decode($json); if (count($data->GetTickerJSONResult)) { // Open the table echo "<table>"; // Cycle through the array foreach ($data->GetTickerJSONResult as $idx => $GetTickerJSONResult) { // Output a row $avgPerChangeValue = floatval($GetTickerJSONResult->AvgPerChange); $symbolName = $GetTickerJSONResult->Symbol ; $hrefLink = ""; switch ($symbolName) { case "ALK": $hrefLink = "https://www.mse.mk/mk/issuer/alkaloid-ad-skopje"; break; case "GRNT": $hrefLink = "https://www.mse.mk/mk/issuer/granit-ad-skopje" ; break; case "KMB": $hrefLink = "https://www.mse.mk/mk/issuer/komercijalna-banka-ad-skopje" ; break; case "MPT": $hrefLink = "https://www.mse.mk/mk/issuer/makpetrol-ad-skopje" ; break; case "MTUR": $hrefLink = "https://www.mse.mk/mk/issuer/makedonijaturist-ad-skopje" ; break; case "SBT": $hrefLink = "https://www.mse.mk/mk/issuer/stopanska-banka-ad-bitola" ; break; case "TEL": $hrefLink = "https://www.mse.mk/mk/issuer/makedonski-telekom-ad-%E2%80%93-skopje" ; break; case "TNB": $hrefLink = "https://www.mse.mk/mk/issuer/nlb-banka-ad-skopje" ; break; case "TTK": $hrefLink = "https://www.mse.mk/mk/issuer/ttk-banka-ad-skopje" ; break; default: echo "Does not supported symbol"; } if ($avgPerChangeValue > 0 ) { echo "<tr>" ; echo "<td class='bold-green'>" . "<a href='" . $hrefLink . "'>" . $GetTickerJSONResult->Symbol . "</a></td>"; echo "<td class='bold-green'>$GetTickerJSONResult->AvgPrice</td>"; echo "<td class='bold-green'>$GetTickerJSONResult->AvgPerChange</td>"; echo "</tr>"; } else if ($avgPerChangeValue < 0 ){ echo "<td class='bold-red'>" . "<a href='" . $hrefLink . "'>" . $GetTickerJSONResult->Symbol . "</a></td>"; echo "<td class='bold-red'>$GetTickerJSONResult->AvgPrice</td>"; echo "<td class='bold-red'>$GetTickerJSONResult->AvgPerChange</td>"; echo "</tr>"; } else { echo "<td class='bold-blue'>" . "<a href='" . $hrefLink . "'>" . $GetTickerJSONResult->Symbol . "</a></td>"; echo "<td class='bold-blue'>$GetTickerJSONResult->AvgPrice</td>"; echo "<td class='bold-blue'>$GetTickerJSONResult->AvgPerChange</td>"; echo "</tr>"; } } // Close the table echo "</table>"; } echo "<style type='text/css'> td.bold-red { color: red; font-weight: bold; } td.bold-green { color: green; font-weight: bold; } td.bold-blue { color: blue; font-weight: bold; } </style>" ?>
Пожалуйста, предоставьте мне рабочее решение для моего кода
попробуйте это, сохраните все json в сеансе и после использования другую страницу
session_start(); $json=file_get_contents("http://feeds.mse.mk/service/FreeMSEFeeds.svc/ticker/JSON/8BA941D0-D6E6-44BD-8D8B-47FDB7A563FA"); $_SESSION['data']=$json;