- делаете обычную страницу битрикса
- запускайте это через wget или curl
- для защиты сделайте проверку на токен или basic авторизацию. или просто положите в папку с рандомным названием /actions/fetch-currency-rates-duifydsi111yu42343/index.php
---
и насчет разбора через регулярки - это не ок
так лучше
Код |
---|
require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php'; тут подключаются модули iblock например и другие тут чтото делаем |
- запускайте это через wget или curl
- для защиты сделайте проверку на токен или basic авторизацию. или просто положите в папку с рандомным названием /actions/fetch-currency-rates-duifydsi111yu42343/index.php
---
и насчет разбора через регулярки - это не ок
так лучше
Код |
---|
$currencyRatesFromCBR = function () { $result = []; $url = 'http://www.cbr.ru/scripts/XML_daily.asp'; $curencyCodes = [ 'USD' => 1, 'EUR' => 1, ]; $xmlRates = file_get_contents($url); $res = simplexml_load_string($xmlRates); if (empty($res)) { return $result; } try { foreach ($res->xpath('//ValCurs/Valute') as $v) { $type = (string)$v->CharCode; if (isset($curencyCodes[$type])) { $result[$type] = (float)str_replace(',', '.', $v->Value); } } } catch (Exception $e) { assert( error_log($e->getMessage() . ' <- currencyrates_cbr') ); } if (empty($result)) { assert( error_log('Data not found <- currencyrates_cbr') ); } return $result; }; |