Скрипт информера курсов валют

Если Вы занимаетесь непосредстенно созданием или раскруткой сайтов, то вероятно часто вставала проблема: размещения на сайте информера курсов вылют. Выбор среди сервисов большой, но зачастую его необходимо качественно вписать в дизайн веб-сайт. Данные курсов будем брать с сайта rbc.ru (благородно предоставляющий сервис экспорта курсов валют). Вообще тема с информерами обширная и поэтому мы будем не раз поднимать ее в дальнейшем. Но начнем с малого: создадим простейший информер котировок валют. Главным показателем для нас будет производительность скрипта и безопасность. Итак полных исходник на php:

<?php
if (time()-1800>filemtime("usd.txt")) {
$f=fopen('usd.txt','w');
ob_start();
include(
'http://80.68.240.81/free/cb.0/free.fcgi?period=DAILY
&tickers=USD&separator=%2F&data_format=BROWSER'
);
$b = ob_get_contents(); ob_end_clean();
fwrite($f,'<img src="
http://vladwebstudio.ru/img/dollar.gif"
align="middle">&nbsp;&nbsp;&nbsp;
'
.ereg_replace('[^.0-9]','0',substr($b,18,7)).'<br />');

include(
'usd.txt');
?>


Инофрмацию о котировках валют будем выгружать с ресурса export.rbc.ru. Так как обработка данных будет происходить на стороне сервера, то указав IP адрес съекономим лишнее обращение к DNS серверу. Рассмотрим конструкцию обеспечивающую минимум нагрузок на сервер:

<?php
if (time()-1800>filemtime("usd.txt")) {
//выгрузка информации с сервера и запись в файл usd.txt
}
include(
'usd.txt');
?>


Условием time()-1800>filemtime("usd.txt") мы обеспечиваем выполнение php скрипта каждые полчаса (1800 секунд). Если текущее время больше времени последнего редактирования файла "usd.txt" более чем на полчаса, то заново выполянем операцию подключения к серверу и запись в файл. В итоге просто делаем инклуд файл.

Рассмотрим еще одну конструкцию:

ob_start();
include(
'http://80.68.240.81/free/cb.0/free.fcgi?period=DAILY&tickers=USD&separator=%2F&data_format=BROWSER');
$b = ob_get_contents(); ob_end_clean();


Здесь мы кэшиурем инклуд. Дело в том, не все хостинги позволяют рабоать с URL адрессами с помошью функций fopen fgets и.т.д. Осталось записать все что мы наделали в файл =) продолжение следует.




Рекомендуем почитать

 

Добавить комментарий


Ваше имя:


Комментарий:


Введите: Картинка