Конвертирование курса валюты на PHP + google
Конвертирование курса валюты из одной денежной единицы в другую, весьма не сложная задача для любого программиста, даже самого молодого. Достаточно знаний математики начальных классов, и вот скрипт конвертирования готов. Примеров реализации множество, как и способов, алгоритмов работы таких скриптов. Как правило задача сводится к получению списка курсов валют, обработка и хранение их в БД, а при необходимости высчитывание отношения одной валюты к другой. Но данный, распространенный, подход имеет ряд недостатков — он не так универсален, данные устаревают, их приходится заново парсить и сохранять в БД, зачастую не удается получить значение курсов всех валют и т.д.
В виду чего, неплохим решением будет воспользоваться сторонним сервисом или API предоставляемым каким либо сайтом. Мы же прибегнем к методу использования поисковика гугл, для конвертирования денежных единиц из одной валюты в другую.
Для этого потребуется всего лишь навсего отправить в гугл запрос, вида:
http://www.google.com/search?&q=SUMM+FROM+n+TO;
Из данной ссылки понятно, что SUMM это денежная сумма, FROM это обозначение валюты из которой будем конвертировать, а TO это значение валюты в которую будем конвертировать.
Далее представляю PHP скрипт, который будет производить все действия в автоматическом режиме и вовращать нам новое значение валюты. все что от нас требуется это передать в метот три данных значения SUMM, FROM, TO.
class currencyCoverter { public $fromCurr = 'USD'; public $toCurr = 'INR'; function __construct($amount, $from, $to) { if(intval($amount) > 0){ $this->amount = intval($amount); } if(trim($to) != ''){ $this->toCurr = $to; } if(trim($from) != ''){ $this->fromCurr = $from; } } function getUpadte() { $returnHtml = array(); $page = 'http://www.google.com/search?&q='.$this->amount.'+' . $this->fromCurr . '+in+' . $this->toCurr; $returnRawHtml = file_get_contents( $page ); preg_match_all('/<h2 class=r(.*)\<\/h2\>/Uis',$returnRawHtml,$returnHtml,PREG_PATTERN_ORDER); if (isset($returnHtml[0][0])) { $gRate = strip_tags($returnHtml[0][0]); return $gRate; } else { return false; } } } $amount = 100; $ToCurrency = 'USD'; $FromCurrency = 'RUR'; $converter = new currencyCoverter($amount, $FromCurrency, $ToCurrency); // get result echo $converter->getUpadte(); // выводим полученное значение |
Недостатки данного скрипта:
— зависимость от стороннего ресурса, в частности google.com. Но этот недостаток очень условный, ведь если упадет гугл, то наверняка упадет весь интернет)
Преимущества данного скрипта:
— Всегда актуальные и свежие данные
— Множество вариаций конвертирование значение курсов, практически по всем денежным единицам мира
— Простота в установке и использовании
Конвертирование курса валюты незаменимая функция для финансового портала, так что скрипт пригодится многим.

Автор:






