0

以下のコードを見つけました/ハッキングしました(ハッキングしたという意味ですが、きれいではないことはわかっています)。

私が達成すべきこと:

  • 3つの通貨のアスク/ビッド値の両方を取得
  • 通貨はUSD、BRL、
  • EUR 基本通貨は ARS です
  • 派手になりすぎないように、6 つの値をエコーする必要があるだけです (基本通貨からの各通貨のビッド/アスク)

平均レートと思われるものを取得できますが、ビッド/アスク値を取得する方法がわかりません。

- $usd_allData[1] を $usd_allData[2] に変更すると、日付が取得されます - $usd_allData[1] を $usd_allData[3] に変更すると、時間が取得されます

何か洞察力やひらめきをお持ちの場合は、私に送ってください。

前もって感謝します!


<?php

/* USD
------------------------- */
$usd_from   = 'USD'; /*change it to your required currencies */
$usd_to     = 'ARS';
$usd_url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $usd_from . $usd_to .'=X';
$usd_handle = @fopen($usd_url, 'r');

if ($usd_handle) {
    $usd_result = fgets($usd_handle, 4096);
    fclose($usd_handle);
}
$usd_allData = explode(',',$usd_result); /* Get all the contents to an array */
$usd_Value = $usd_allData[1];

/* EUR
------------------------- */
$eur_from   = 'EUR'; /*change it to your required currencies */
$eur_to     = 'ARS';
$eur_url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $eur_from . $eur_to .'=X';
$eur_handle = @fopen($eur_url, 'r');

if ($eur_handle) {
    $eur_result = fgets($eur_handle, 4096);
    fclose($eur_handle);
}
$eur_allData = explode(',',$eur_result); /* Get all the contents to an array */
$eur_Value = $eur_allData[1];

/* BRL
------------------------- */
$brl_from   = 'BRL'; /*change it to your required currencies */
$brl_to     = 'ARS';
$brl_url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $brl_from .     $brl_to .'=X';
$brl_handle = @fopen($brl_url, 'r');

if ($brl_handle) {
    $brl_result = fgets($brl_handle, 4096);
    fclose($brl_handle);
}
$brl_allData = explode(',',$brl_result); /* Get all the contents to an array */
$brl_Value = $brl_allData[1];

echo (
    $usd_Value . '<br><hr>' .
    $eur_Value . '<br><hr>' .
    $brl_Value 
)

?>
4

2 に答える 2

1

Yahoo の代わりに Google について考えたことはありますか? 通貨換算用の API が必要

また、アイテムごとに選択するのではなく、配列を print_r() して、何が表示されるかを確認します。

于 2014-02-20T23:36:27.463 に答える
0

あなたは私の一日を作りました。配列の 'print_'r を実行してから、簡単な Google 検索を実行すると、' Yahoo Finance (hidden) API 'というタイトルの記事にたどり着きました。

このビットが鍵であることが判明しました。

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

具体的には、これに続くもの:

&f=

これに続く文字は、それぞれの変数を取得します。したがって、これは sl1、d1、t1 を取得します。

sl1d1t1

それを少し下(b2、b3)に変更すると、リアルタイムのビッドとアスクの価格が得られます(どれだけ正確かはわかりません)

sl1d1t1b2b3

大、大、大感謝!

于 2014-02-21T00:07:38.823 に答える