HomeCoding & Programming

Get live currency rates in PHP and currency conversion using APIs

Like Tweet Pin it Share Share Email

Get live currency rates in PHP & conversion using APIs

In the below method, we get live currency rates from Google.
This function uses CURL so make sure you have enabled curl extension in php.

 

Google has an inbuilt calculator which can also be used for converting a currency into another.Doing so is really simple, you just type “AMOUNT”, “CURRENCY_CONVERTING_FROM” in “CURRENCY_CONVERTING_TO” and search, the inbuilt calculator will give you the result.

Try this
http://www.google.com/finance/converter?a=1&from=USD&to=INR

 

Google also has a secret calculator API (http://www.google.com/ig/calculator) that is usually used for iGoogle gadgets, but its free and open, anyone can use it.
So if you want to convert a currency into another using the API, you can grab the below code.


<?php

function get_currency($from_Currency, $to_Currency, $amount) {

$amount = urlencode($amount);
$from_Currency = urlencode($from_Currency);
$to_Currency = urlencode($to_Currency);

$url = "http://www.google.com/finance/converter?a=$amount&from=$from_Currency&to=$to_Currency";

$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$rawdata = curl_exec($ch);
curl_close($ch);
$data = explode('bld>', $rawdata);
$data = explode($to_Currency, $data[1]);
return round($data[0], 2);
}

// Call the function to get the currency converted
echo get_currency('USD', 'INR', 1);

?>

 

You can also do same by using live currency Value from yahoo finance (http://finance.yahoo.com/)

Here is an example to get the value of US Dollar in Indian Rupees.


<?php

$from   = 'USD'; /*change it to your required currencies */
$to     = 'INR';
$url    = 'http://download.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $from . $to .'=X';

$handle = @fopen($url, 'r');
if ($handle) {
$result = fgets($handle, 4096);
fclose($handle);
}
$allData = explode(', ', $result); /* Get all the contents to an array */
$dollarValue = $allData[1];
echo 'Value of $1 in Indian Rupees is &#8377; '.$dollarValue;

?>

Comments (5)

  • Thanks you article really help us…..I like it.

  • I view something truly interesting about your web blog so I bookmarked .

  • First off I want to say excellent blog! I had a quick question in
    which I’d like to ask if you do not mind. I was interested to know how you center yourself and clear your head before writing. I have had a tough time clearing my mind in getting my thoughts out. I do take pleasure in writing however it just seems like the first 10 to 15 minutes are wasted simply just trying to figure out how to begin. Any ideas or hints? Thank you!

  • google api is no more available

Comments are closed.