[实际应用+实现实例]通过Yahoo API获取实时货币汇率代码
最后更新: 2015-07-08
浏览次数:
示例演示
实际应用:
一些国际的电子商务网站, 货币结算时, 需要考虑当地客户支付的货币种类.
例如, 面向中国客户的欧洲网站, 网站产品都是以欧元结算的, 当中国客户通过网站的支付宝接口支付时, 只能支付人民币, 这时, 网站可根据当前人民币兑欧元的汇率, 将产品的欧元价格换算成人民币价格, 然后在通过支付宝结算.
实例实现:
雅虎(吖唿~~~~ Yahoo!)网站上提供了各种金融数据的接口, 有股票/能源/期货, 当然也有货币外汇汇率
货币汇率的接口为:
http://download.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=EURCNY=x
参数s=EURCNY, 欧元换人民币
以上接口在浏览器中可以返回一个quotes.csv文件, 得到数据为: “EURCNY=x”,6.7561,”5/27/2015″,”7:54pm”
![[实际应用+实现实例]通过Yahoo API获取实时货币汇率代码 - diê-biāng - 1 [实际应用+实现实例]通过Yahoo API获取实时货币汇率代码 - diê-biāng - 1](/uploads/allimg/150624/00550A331-0.jpg)
yahoo 汇率接口返回数据
我们可以根据这个接口, 及返回的汇率数据来处理货币换算的功能.
以下是代码和说明:
<?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); ?> |
也可以通过下面的代码, 将CSV文件中的第一行数据全部读取出来
<?php //函数参数说明: $file_name: csv文件名/地址, $line: 要读取的行数 function get_csv_line( $file_name, $line ) { $n = 0; $handle = fopen($file_name,'r'); if ($handle) { while (!feof($handle)) { ++$n; $out = fgets($handle, 4096); if($line==$n) break; } fclose($handle); } if( $line==$n) return $out; return false; } //输出第一行数据 echo get_csv_line("http://download.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=EURCNY=x+AUDUSD=x", 1); exit; ?> |