Задать вопрос
Anon3363
@Anon3363

Php file_get_contents получаю данние о валюте но страница дольго грузится какое есть решение?

$valut = file_get_contents('https://cb.am/latest.json.php');
		$currency = json_decode($valut);
		$eur = $currency->USD;
		$usd = $currency->EUR;
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@dzhebrak
Проблема в том, что долго загружается страница, к которой вы делаете запрос с помощью file_get_contents.

Учитывая, что указанная страница возвращает код 500, то вероятнее всего есть какая-то проблема на стороне сервера, с которого получаете данные. Если доступов к нему нет, то исправить нет возможности.

Есть 2 возможных варианта решения проблемы:

1. кэшировать полученные данные, к примеру, на 1-5 минут. Соответственно, если данные есть в кэше, и они не устарели, то возвращаем их; в противном случае делаем запрос к указанному сервису.

2. написать скрипт, который будет обновлять данные раз в минуту по крону и сохранять куда-то, а на сайте выводить уже сохраненные ранее данные.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alekseyHunter
@alekseyHunter
Android developer
1) Если используешь внешний сервис, делай максимальное количество проверок.
Сервер может любую ошибку выдать, а твой сайт не обработает её и посыпится.
2) Скорость зависит от нагрузки этого сервиса. Загружен -> медленно отдаёт данные. Делай свою БД, создавай триггеры через CRON, которые будут делать запросы к внешнему сервису и записывать данные в твою БД. А потому уже из БД выводить значения на сайт.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы