Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: курсы валют curl

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: курсы валют curl
s3ga
Отправлено: 19 Августа, 2014 - 13:30:53
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Всем привет, помогите крану, не дружу с curl
берущий данные с цбрф, и записывающий их в xml файлик
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $today = date("d/m/Y");
  3. $fp = fopen('cb.xml', 'w');
  4. $ch = curl_init();
  5. curl_setopt($ch, CURLOPT_URL,
  6.      'http://www.cbr.ru/scripts/XML_daily.asp?date_req='.$today);
  7. curl_setopt($ch, CURLOPT_FILE, $fp);
  8. curl_exec($ch);
  9. fclose($fp);
  10. curl_close ($ch);
  11. ?>

Записывает в xml что то в этом роде
CODE (htmlphp):
скопировать код в буфер обмена
  1. <Valute ID="R01010">
  2.         <NumCode>036</NumCode>
  3.         <CharCode>AUD</CharCode>
  4.         <Nominal>1</Nominal>
  5.         <Name>Австралийский доллар</Name>
  6.         <Value>33,5722</Value>
  7. </Valute>

не очень удобно
Как сделать так чтобы данные записывались в обычный txt файлик примерно с таким содержанием?,
aud 33,5722 -
usd 42,3222 +
где + - означает, увеличился или уменьшился курс по сравнению с предыдущей записью в файле.
Заранее всем спасибо

(Отредактировано автором: 19 Августа, 2014 - 13:36:52)

 
 Top
phpsuforum
Отправлено: 19 Августа, 2014 - 13:37:26
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Авг. 2014  


Помог: 0 раз(а)




s3ga пишет:
Всем привет, помогите крану, не дружу с curl
берущий данные с цбрф, и записывающий их в xml файлик
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $today = date("d/m/Y");
  3. $fp = fopen('cb.xml', 'w');
  4. $ch = curl_init();
  5. curl_setopt($ch, CURLOPT_URL,
  6.      'http://www.cbr.ru/scripts/XML_daily.asp?date_req='.$today);
  7. curl_setopt($ch, CURLOPT_FILE, $fp);
  8. curl_exec($ch);
  9. fclose($fp);
  10. curl_close ($ch);
  11. ?>

Записывает в xml что то в этом роде
CODE (htmlphp):
скопировать код в буфер обмена
  1. <Valute ID="R01010">
  2.         <NumCode>036</NumCode>
  3.         <CharCode>AUD</CharCode>
  4.         <Nominal>1</Nominal>
  5.         <Name>Австралийский доллар</Name>
  6.         <Value>33,5722</Value>
  7. </Valute>

Как сделать так чтобы данные записывались в обычный txt файлик примерно с таким содержанием?,
aud 33,5722 -
usd 42,3222 +
где + - означает, увеличился или уменьшился курс по сравнению с предыдущей записью в файле.
Заранее всем спасибо


Лично я граблю методом великого тыка.
1. Открываю.
2. Содержимое копирую в файл.
3. Редактирую как мне надо!
 
 Top
s3ga
Отправлено: 19 Августа, 2014 - 13:42:15
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Цитата:
Лично я граблю методом великого тыка.
1. Открываю.
2. Содержимое копирую в файл.
3. Редактирую как мне надо!

вот как раз пункт 2-3 технически не знаю как выполнить
 
 Top
s3ga
Отправлено: 20 Августа, 2014 - 08:06:15
Post Id


Частый гость


Покинул форум
Сообщений всего: 152
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?
  2. header('Content-Type: text/html; charset=utf-8');
  3. function get_value_content()  
  4. {
  5.  $data = file_get_contents("http://www.cbr.ru/scripts/XML_daily.asp?date_req=".date("d/m/Y"));
  6.  return $data;  
  7. }
  8.    
  9. #Получаем текущие курсы валют
  10. $content = get_value_content();
  11.  
  12. #Разбираем содержимое, при помощи регулярных выражений  
  13. $divider = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";  
  14. preg_match_all($divider, $content, $currency, PREG_SET_ORDER);
  15.  
  16. #создаем массив валют  
  17. $NumCode = array("AUD"=>036,"GBR"=>826,"BYR"=>974,"DKK"=>208,"USD"=>840,"EUR"=>978,
  18.                  "ISK"=>352,"KZT"=>398,"CAD"=>124,"CNY"=>156,"NOK"=>578,"XDR"=>960,
  19.                  "SGD"=>702,"TRY"=>949,"UAH"=>980,"SEK"=>752,"CHF"=>756,"JPY"=>392);
  20.                  
  21. #массив содержащий список валют подлежащих выводу на экран
  22. $CharCode = array("EUR","USD");//валюта которая будет выведенна
  23. $val="";
  24. $filename = "cb.txt";
  25. $file = file($filename);
  26. #цикл вывода
  27. foreach($currency as $data) {
  28.     for ($i=0;$i<count($CharCode);$i++) {
  29.          if($data[2] == $NumCode[$CharCode[$i]]) $valute[$i]= $CharCode[$i]." ".str_replace(",",".",$data[4]);
  30.  
  31.     }
  32. }
  33.  
  34.  
  35.  
  36.  
  37. for ($i=0;$i<count($valute);$i++) {
  38.      $val.=$valute[$i]."\r\n";
  39. }
  40. #цикл вывода на экран
  41. echo "<u>Курс валют предоставлен ЦБРФ:</u><br><br>";
  42.  
  43. fwrite($file,$val);
  44. fclose($file);
  45. #цикл вывода на экран
  46.  
  47. ?>

нашел скрипт, сейчас забиваю в базу данные в виде
USD 42.222
EUR 23.222
Теперь не знаю как найти в файле к примеру EUR, и заменить значение после пробела, перед этим сравнив его с новым
 
 Top
Edwvee
Отправлено: 21 Августа, 2014 - 10:33:20
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB