php script for currency conversion
I am looking for a php script that does currency conv开发者_JS百科ersion.
Where can I find one that works with codeigniter?
Taken from http://www.ecb.europa.eu/stats/exchange/eurofxref/html/index.en.html#dev
How to parse the data
This is just an example
<?php
//This is a PHP (4/5) script example on how eurofxref-daily.xml can be parsed
//Read eurofxref-daily.xml file in memory
$XMLContent= file("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
//the file is updated daily between 2.15 p.m. and 3.00 p.m. CET
foreach ($XMLContent as $line) {
if (ereg("currency='([[:alpha:]]+)'",$line,$currencyCode)) {
if (ereg("rate='([[:graph:]]+)'",$line,$rate)) {
//Output the value of 1 EUR for a currency code
echo '1 € = '.$rate[1].' '.$currencyCode[1].'<br />';
//--------------------------------------------------
// Here you can add your code for inserting
// $rate[1] and $currencyCode[1] into your database
//--------------------------------------------------
}
}
}
?>
Not the best of scripts, but then again, you just asked for gimme-teh-codez.
You can convert currency with google conversion easily with the below code. Read more about Currency Conversion library in PHP with google here http://mydons.com/currency-conversion-library-in-codeigniter/
public function getResult(){
$result = file_get_contents($this->googleUrl);/* Convert the above result into Array */
$result = explode('"', $result);/* Right side text*/
$convertedAmount = explode(' ', $result[3]);
$conversion = $convertedAmount[0];
$conversion = $conversion * $this->amount;
$conversion = round($conversion, 2);//Get text for converted currency
$rightText = ucwords(str_replace($convertedAmount[0],"",$result[3]));//Make right hand side string
$rightText = $conversion.$rightText;/* Left side text*/
$googleLeft = explode(' ', $result[1]);
$fromAmount = $googleLeft[0];//Get text for converted from currency
$fromText = ucwords(str_replace($fromAmount,"",$result[1])); //Make left hand side string
$leftText = $this->amount." ".$fromText;
return $leftText." = ".$rightText;
}
you can calculate exchange rates quite simply like:
$from = "GBP";
$to = "USD";
$url = 'http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency='.$from.'&ToCurrency='.$to;
$rate = simplexml_load_file($url);
echo 'Rate from '.$from.' to '.$to.' is: '.$rate[0];
I took this PHP code for currency conversion from https://currencyfreaks.com/documentation.html#Conversion. It provides the latest currency conversion rates for 179 currencies world-wide including cryptocurrencies and precious metals.
setUrl('https://api.currencyfreaks.com/latest/convert
?apikey=YOUR_APIKEY
&from=USD&to=PKR
&amount=500');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
I hope it will be helpful for you.
I wrote a CodeIgniter currency conversion model last week. You can download if from here.
It uses the European Central Bank's XML feed, which is updated every week day.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class CurrencyCon extends CI_Controller {
public function index()
{
$dollarValue=$this->convert_currency('USD', 'INR',1890);//parameter3 give the amount to be converted.
echo 'Actual Rate '.$dollarValue."";
echo 'Round Figure '.$con_dollor = round($dollarValue,2);
}
function convert_currency($currency_from,$currency_to,$currency_input)
{
$yql_base_url = "http://query.yahooapis.com/v1/public/yql";
$yql_query = 'select * from yahoo.finance.xchange where pair in ("'.$currency_from.$currency_to.'")';
$yql_query_url = $yql_base_url . "?q=" . urlencode($yql_query);
$yql_query_url .= "&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys";
$yql_session = file_get_contents($yql_query_url);
$yql_json = json_decode($yql_session,true);
$currency_output = (float) $currency_input*$yql_json['query']['results']['rate']['Rate'];
return $currency_output;
}
}
? >
I am useing here google finance Api. Use This one :
function currencyConverter($from_Currency, $to_Currency, $amount) {
$from_Currency = urlencode($from_Currency);
$to_Currency = urlencode($to_Currency);
$get = file_get_contents("https://finance.google.com/finance/converter?a=$amount&from=$from_Currency&to=$to_Currency");
$get = explode("", $get);
$get = explode("", $get[1]);
$converted_currency = preg_replace("/[^0-9\.]/", null, $get[0]);
return $converted_currency;
}
Core php ======== $converted_currency=currencyConverter('USD', 'INR', 1); echo $converted_currency; Codeigniter =========== $converted_currency=$this->currencyConverter('USD', 'INR', 1); echo $converted_currency;
精彩评论