Тема інформери курсів валют на сайт в Казахстані як і раніше актуальна і її вирішено було продовжити. Поки скрипт php наводиться в належний стан, пропонуємо скористатися скриптом від коментатора Олександра, який залишив свій варіант на сайті, 31 жовтня 2012 року. Як і раніше, наш скрипт інформера прекрасно працює і збирає потрібну інформацію в інтерненте для формування картинки, який можна подивитися тут .
Власне сам скрипт php
<? Php $ currentDate = date ( 'dmY'); $ CurrentTimeShtamp = time (); $ CurrentTime = date ( 'H: i: s'); $ Curses = unserialize (file_get_contents ( 'curses.arr')); // якщо з часу останнього оновлення пройшло більше 1 години сек if ($ currentTimeShtamp - $ curses [ 'timeshtamp']> = 1 * 60 * 60) {$ valutes = array ( 'USD', 'EUR', 'RUB') ; $ CursesXML = simplexml_load_file ( 'http://www.nationalbank.kz/rss/rates_all.xml'); $ Curses = array ( 'date' => $ currentDate, 'time' => $ currentTime, 'timeshtamp' => $ currentTimeShtamp,); foreach ($ cursesXML -> channel -> item as $ item) {if (in_array ((string) $ item -> title, $ valutes)) {$ curses [ 'curses'] [] = array ( 'name' => (string) $ item -> title, 'date' => (string) $ item -> pubDate, 'value' => (string) $ item -> description, 'index' => (string) $ item -> index , 'quant' => (string) $ item -> quant,); }} $ Str_curses = serialize ($ curses); file_put_contents ( 'curses.arr', $ str_curses); }?>
Щоб скрипт інформера курсів валют заробив, необхідно в цій же директорії створити файл curses.arr. Файл можна не створювати, якщо у користувача є права записи в директорію, де лежить файл основного скрипта.
Після виконання скрипта в масиві $ curses міститиметься інформація по курсам валют, найменування яких є в масиві $ valutes. Оновлюватися дані будуть через кожну годину. Якщо необхідно змінити інтервал оновлення, то досить поміняти значення 1 * 60 * 60
Для рендеринга досить пройтися по масиву $ curses [ 'curses'] можна так
foreach ($ curses [ 'curses'] as $ curse) {$ curse [ 'name'] // найменування валюти ......}