Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 08.02.2018, 14:53
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,

Спасибо вам! Но я не понимаю, у меня на стороннем хостинге есть место, туда залито два скрипта, php ссылки на них выше. Они отображают курс всё работает хорошо, есть крон который планирует и обновляет.

Но я ничего не понимаю что выше написано)))

Если можно всё точно по порядку разложить я на сервере сделаю и добавлю нужный файл.
Ответить с цитированием
  #42 (permalink)  
Старый 08.02.2018, 14:54
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

Сообщение от j0hnik Посмотреть сообщение
<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> 
		</div>
	</a>
</li>


Старайтесь форматировать, так будут ошибки заметнее.
Посмотрите внимательно

Не понял, как нужно написать в скрипте что бы туда добавить дату?
Ответить с цитированием
  #43 (permalink)  
Старый 08.02.2018, 15:05
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<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 +"- Посмотреть курс валют");
Ответить с цитированием
  #44 (permalink)  
Старый 08.02.2018, 15:08
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

$('#usd').html("$&nbsp;&nbsp;" +data.Valute.USD.Value.toFixed(2) +trend);
$('#usd').parent().attr('title', data.Date +"- Посмотреть курс валют");


В скрипт добавить новый массив?
Ответить с цитированием
  #45 (permalink)  
Старый 08.02.2018, 15:10
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

$('#usd').html("$&nbsp;&nbsp;" +data.Valute.USD.Value.toFixed(2) +trend).parent().attr('title', data.Date +"- Посмотреть курс валют");


вот так можно сразу
Ответить с цитированием
  #46 (permalink)  
Старый 08.02.2018, 15:16
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

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'])



Может это выход из положения? у меня есть хостинг может там как что сделать?
Ответить с цитированием
  #47 (permalink)  
Старый 08.02.2018, 15:22
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от spinastr
у меня на стороннем хостинге есть место, туда залито два скрипта
Не надо двух скриптов выполняющих одну задачу. Используя xml, получить курс доллара:

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);
Ответить с цитированием
  #48 (permalink)  
Старый 08.02.2018, 15:30
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

Так))

Я создаю два файла PHP, первый файл это первый скрипт, второй файл это второй скрипт.

Добавляю в папку

Заливаю в папочку на свой хостинг

Ставлю таймер в кроне на индех.пхп

А дальше что?

как отдуда вытянуть на мой сайт где нету php в формате $ 56.77 ▲

Нужно наверно какойто скрипт создать, который будет передавать данные в блок?
Ответить с цитированием
  #49 (permalink)  
Старый 08.02.2018, 15:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Скрипт первый, это тот который должен запускать 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, 08.02.2018 в 15:58.
Ответить с цитированием
  #50 (permalink)  
Старый 08.02.2018, 19:54
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,

Верно всё сделал?

Последний раз редактировалось spinastr, 09.02.2018 в 04:29.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод контента в модалном окне, чтобы к нему можно было обратиться по ссылке decadent42 jQuery 3 11.04.2016 15:12
Преключатель валют alexmixaylov jQuery 7 21.10.2014 13:10
Проблема с выводом курса валют bubanay Элементы интерфейса 0 20.12.2013 20:42
Вывод переменных MasterHrust Javascript под браузер 4 03.08.2011 15:41
Вывод данных в Друпал 6 из MySQL, небольшая работа torquemada Работа 1 22.05.2011 17:05