есть вчерашний файл url XML заканчивается на official_exchange_rates?get_xml=1&date=$vcera получаю курсы валют за вчера PHP: $vcera=date('d.m.Y' ,strtotime ("-1 days")); $url_old="https://www.exec.en/official_exchange_rates?get_xml=1&date=$vcera"; $xml_old = file_get_contents($url_old); $potok = simplexml_load_string($xml_old); // .................................................................и собственно получаю значение в цикле ...........// $value["old_$vl"] = bcdiv(($potok->xpath('////Valute[@ID = "' . $value["con_$vl"] . '"]')[0]->Value), 1, 2) ; суть вопроса, как создать массив от вчера до 365 дней назад , для данной валюты, желательно не дублируя в цикле от -365 до 0 -> PHP: $url_periud="https://www.exec.en/official_exchange_rates?get_xml=1&date=$от[-365 ,... 0]"; $xml_periud = file_get_contents($url_periud); $potok = simplexml_load_string($xml_periud); и не тащить массивом 365 раз - 45 валют, а лишь только лишь одну
1) Если в API заявлена выемка через периоды, вынимать через API, так как ссылки на описание нет, хз, умеет ли оно периодами; 2) Можно один раз запросить за 365 дней и хранить у себя, каждый новый день запрашивая новый курс, удаляя самый старый курс.
Это simplexml и он лишь парсер, а сам xml лежит на сайте банка где одна переменная data указывает какой xml дергаем, вернее за какое число. Мне заливать в базу данных данные за 365 дней нет желания, но как вариант. Я строю график курса валют использую старый добрый flot.js три валюты за 365 дней , может потом больше... , У меня и так база за 65мб переваливает с 30 таблицами
@aliensgroup, банков, отдающих xml-ем курсы валют пруд-пруди, почему вопрос здесь по поводу выемки данных за период, а не к СП банка? )))
Заливайте не в базу, заливайте в XML или JSON. Для каждой валюты свой. Можно даже на другом сервере, раз старый добрый flot.js используете.
ну наверно что меня интересует курс официальный, от нац банка , а он у меня в стране не пруд пруди, а один.... а использовать api коммерческих банков негуд, чЁ их библиотеки еще на собирают никто не знам
exec.en не похож на домен ЦБ РФ ) Получение данных, используя XML | Банк России (cbr.ru) Example 2 (Пример получения динамики котировок доллара США) тут за период для одной валюты.
Ну во первых я не сказал что моя страна РФ (хотя родственники именно там), я из Молдавии . Ну а второе я пишу свой MVC контролёр , с возможностью в дальнейшем парсить любой набор данных xml и выводить в нужной форме. Не только от банков, но а также Гисметео, и пр. информеры в сети... Но все же мне не нравиться один момент, обращаться к серверу 365 раз как минимум раз в день, и если я не залью к себе на сервер эти сырые данные, то обращаться к первоначальному серверу будут не 365 раз, а 365 помноженное на количество посетителей на сайте запрашивающие через мой контролёр курсы, или другую статистику
Да бессмысленно трафик гонять, храни данные в БД за последний год, это реально копейки для хранилища.