laimas,
Спасибо вам! Но я не понимаю, у меня на стороннем хостинге есть место, туда залито два скрипта, php ссылки на них выше. Они отображают курс всё работает хорошо, есть крон который планирует и обновляет. Но я ничего не понимаю что выше написано))) Если можно всё точно по порядку разложить я на сервере сделаю и добавлю нужный файл. |
Цитата:
Не понял, как нужно написать в скрипте что бы туда добавить дату? |
<li> <div class="wow fadeInLeft animated" style="visibility: visible; animation-name: bounceIn;"> <a href="index/grafik_kursa_valjut/0-167" title="СЮДА ВЫВЕСТИ ДАТУ - Посмотреть курс валют"> <div id="usd"></div> </a> </div> </li> найдите отличия?? ;) $('#usd').parent().attr('title', data.Date +"- Посмотреть курс валют"); |
$('#usd').html("$ " +data.Valute.USD.Value.toFixed(2) +trend); $('#usd').parent().attr('title', data.Date +"- Посмотреть курс валют"); В скрипт добавить новый массив? |
$('#usd').html("$ " +data.Valute.USD.Value.toFixed(2) +trend).parent().attr('title', data.Date +"- Посмотреть курс валют"); вот так можно сразу |
j0hnik,
Спасибо, работает. Сейчас друга попросил, он зашёл с телефона и у него показывает вообще вчерашний курс. ЧТо делать? пипец какойто))) тут описано Как получить последние курсы со стороны сервера? Не пользуетесь PHP? Нет проблем! Добавьте такой код в /etc/cron.hourly/cbr: #!/bin/sh set -e mkdir -p /var/cache/cbr cd /var/cache/cbr for file in daily_utf8.xml daily.xml daily_eng.xml daily_eng_utf8.xml daily_json.js do wget --timestamping --no-verbose https://www.cbr-xml-daily.ru/$file done 2>&1 | xargs -I{} logger --tag $0 --id=$$ "{}" Затем дайте права на выполнение: sudo chmod +x /etc/cron.hourly/cbr И сделайте первую загрузку: sudo /etc/cron.hourly/cbr Эта программа будет поддерживать самую актуальную версию данных о курсах валют во всех форматах в каталоге /var/cache/cbr/ Использовать их можно, например, так: <?php $data = json_decode(file_get_contents('/var/cache/cbr/daily_json.js')); echo "Обменный курс USD по ЦБ РФ на сегодня: {$data->Valute->USD->Value}"; Или так: import json with open('/var/cache/cbr/daily_json.js') as data_file: data = json.load(data_file) print(data['Valute']['USD']['Value']) Может это выход из положения? у меня есть хостинг может там как что сделать? |
Цитата:
if(PHP_SAPI == 'cli') { //установить директорию, все необходимые подключения производить относительно этой директории chdir(dirname(__FILE__)); //получение курса доллара $prev = date('d/m/Y', strtotime('-1 day')); //предыдущая дата $curr = date('d/m/Y'); //текущая дата $xml = simplexml_load_file('http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1='.$prev.'&date_req2='.$curr.'&VAL_NM_RQ=R01235'); $usd_prev = $xml->Record[0]->Value; //курс за предыдущую дату $usd_curr = $xml->Record[1]->Value; //курс за текущую дату //здесь сохранить полученные курсы //если сохранять не в базе, то в закрытой от прямого доступа директории } Этот скрипт должен выполнять планировщик в 0 часов. Второй скрипт должен быть скриптом отдающим курсы, которые он должен получать из сохраненных. И это будут index.php. В нем код: header('Access-Control-Allow-Origin: имя вашего домена, который запрашивает курс'); //получить сохраненные курсы, и отдать их в виде JSON //как конкретно, зависит от того как сохранялось //отдаем курс клиенту и выход exit($currency); |
Так))
Я создаю два файла PHP, первый файл это первый скрипт, второй файл это второй скрипт. Добавляю в папку Заливаю в папочку на свой хостинг Ставлю таймер в кроне на индех.пхп А дальше что? как отдуда вытянуть на мой сайт где нету php в формате $ 56.77 ▲ Нужно наверно какойто скрипт создать, который будет передавать данные в блок? |
Скрипт первый, это тот который должен запускать cron. Если планировщик сервера позволяет запускать скрипты из закрытых папок, то хорошо, создать такую папку, например, current, в которую и поместить этот скрипт. В эту же папку поместить и файл .htaccess с содержанием:
<Files *> Deny from all </Files> Пусть сохранение полученного курса будет в файл, в json формате. То есть со строки 15 этого файла должно быть: file_put_contents('current.json', json_encode['usd'=>[ date('j.n.Y', strtotime($curr)) => $usd_curr, //текущая дата => курс date('j.n.Y', strtotime($prev)) => $usd_prev //предыдущая дата => курс ]]); Клиент обращается к этому домену, то есть будет запрос к index.php. В нем заменить exit($currency) на: exit(file_get_contents('current/current.json')) Клиент получит json {usd: { '8.2.2018' : 'xx.xxxx', '7.2.2018' : 'xx.xxxx' } } |
laimas,
Верно всё сделал? |
Часовой пояс GMT +3, время: 02:25. |