PHP通过Yahoo接口获取实时货币汇率代码

作者: unvs 分类: PHP 发布时间: 2016-05-28 17:38 ė16,514 views 6没有评论

有些国际的电子商务外贸网站, 货币结算时, 需要考虑当地客户支付的货币种类。
例如, 面向中国客户的欧洲网站, 网站产品都是以欧元结算的, 当中国客户通过网站的支付宝接口支付时, 只能支付人民币, 这时, 网站可根据当前人民币兑欧元的汇率, 将产品的欧元价格换算成人民币价格, 然后再通过支付宝结算.

实例实现:
雅虎( Yahoo!)网站上提供了各种金融数据的API接口,  当然也有货币外汇汇率
货币汇率的接口URL为:

http://download.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=EURCNY=x

参数s=EURCNY, 欧元换人民币
以上接口在浏览器中可以返回一个quotes.csv文件, 得到数据为: “EURCNY=x”,6.7265,”5/27/2016″,”7:54pm”

我们可以根据这个接口, 及返回的汇率数据来处理货币换算的功能.
以下是PHP代码和说明(fopen写法):  

<?php
header("Content-type: text/html; charset=utf-8"); 
$file = fopen('http://download.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=EURCNY=x','r');	//参数s=EURCNY, 欧元换人民币, 根据需要更换
while ($data = fgetcsv($file))      //读取CSV文件里的每一行内容
{
    $goods_list[] = $data;
}
$shijian = $goods_list[0][2] .' '. $goods_list[0][3];  	//根据 quotes.csv文件得到的数据, 当前时间 在3,4列位置
$huilv = $goods_list[0][1];         					//根据 quotes.csv文件得到的数据, 汇率 在2列位置 
echo "当前时间: $shijian, 1欧元可换: $huilv 元人民币<BR>";
fclose($file);
?>

另一种PHP写法(curl写法):  
/*
* 汇率转换-fxzdp.taobao.com-2016.05.27
*/
function get_exchange_rate($from_currency, $to_currency)
{
$from_Currency = urlencode($from_currency);
$to_Currency = urlencode($to_currency);
$url = “http://download.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=”.$from_currency.$to_currency.”=x”;
$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(‘,’, $rawdata);
return $data[1];
}

本博文章基本上属于原创或收集整理,都是心血结晶。
欢迎转载分享,转载请注明出处,谢谢!
本文地址:PHP通过Yahoo接口获取实时货币汇率代码

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Ɣ回顶部