PHP。比特币到乌克兰Hrivna价格自动收报机

时间:2014-03-14 17:49:48

标签: php exchange-server bitcoin

我正在尝试用乌克兰货币从BTC-E.com交易所创建比特币价格的实时记录。最终结果是将价格放在我简单的html网站上。 交易所不提供hrivna(UAH)的价格,所以我必须从BTC转换为USD到UAH。 到目前为止,我已经设法使用BTC-E

提供的api将价格换成美元
https://btc-e.com/api/2/btc_usd/ticker

这是我创建的php文件

<?php
header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Pragma: no-cache'); // HTTP 1.0.
header('Expires: 0'); // Proxies.

$data = file_get_contents("https://btc-e.com/api/2/btc_usd/ticker");
$data = json_decode($data, true);
$spot_last = $data['ticker']['last'];
echo $spot_last;
?>    

这是我在index.html中放入的代码

<script>
     var auto_refresh = setInterval(
     function()
     {$('.btce_price').load('ticker.php');}, 1000);


  </script>

为了让美元兑换UAH,我想使用其中一家银行的商业汇率。

 https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=5

whis返回以下内容

<exchangerates>
<row>
<exchangerate ccy="RUR" base_ccy="UAH" buy="0.25000" sale="0.28000"/>
</row>
<row>
<exchangerate ccy="EUR" base_ccy="UAH" buy="13.30000" sale="14.30000"/>
</row>
<row>
<exchangerate ccy="USD" base_ccy="UAH" buy="9.60000" sale="10.10000"/>
</row>
</exchangerates>

所以我有另一个php文件来输出我需要的购买率

$xml = simplexml_load_file("https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=5");
$m = $xml->xpath('//exchangerate[@ccy="USD"]');
$exrate = (string)$m[0]['buy'];
echo $exrate;

现在回到这个问题。如何划分第一个文件的输出购买第二个?然后在我的index.html中显示结果

THX !!!

1 个答案:

答案 0 :(得分:0)

嗯,而不是将值除以 - 我会乘以它们。

实际上:1 BTC = 633 USD和633 USD = ~6000 UAH。 所以我会计算:$ uah = $ spot_last * $ exrate;

示例

<?php

header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Pragma: no-cache'); // HTTP 1.0.
header('Expires: 0'); // Proxies.

// get BTC
$data = file_get_contents("https://btc-e.com/api/2/btc_usd/ticker");
$data = json_decode($data, true);
$spot_last = $data['ticker']['last'];

echo '1 BTC is worth ' . $spot_last . ' USD. <br>';

// get CURRENCIES
$xml = simplexml_load_file("https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=5");
$m = $xml->xpath('//exchangerate[@ccy="USD"]');
$exrate = (string)$m[0]['buy'];

echo '1 USD is worth '. $exrate .' UAH. <br>';

$uah = $spot_last * $exrate;

echo 'Result: 1 BTC ~ ' . $uah . ' UAH. <br>';

要用作自动收报机,请删除所有回声语句,它们仅用于演示并仅插入echo $uah;

<强>输出

1 BTC is worth 624.928 USD.
1 USD is worth 9.60000 UAH.
1 BTC ~ 5999.3088 UAH. 

比较计算

请参阅http://preev.com/btc/uah

顺便说一下:Privatbank提供这样的API非常棒。