【发布时间】:2014-05-14 20:27:28
【问题描述】:
我需要新的 EURUSD 报价以在网站上显示我的产品价格。
我正在尝试使用以下代码阅读雅虎财经的报价:
$eurUsd = 1.3700; // Default value
$yahooUrl = 'http://finance.yahoo.com/d/quotes.csv?f=l1&s=EURUSD=X';
$handle = fopen($yahooUrl, 'r');
if ($handle) {
$result = fgetcsv($handle);
fclose($handle);
$eurUsd = $result[0];
}
此代码在我的测试环境中运行良好,但在我的网站中却不行,因为我有“allow_url_fopen=0”。出于安全原因,我不想更改它。
我正在使用的请求返回如下字符串:
1.3715
你知道我如何以其他方式读取字符串吗?
您知道获取 EURUSD 报价的另一种方法吗?
编辑
感谢 Epik 的代码,我尝试使用 curl,但在 Yahoo 上没有成功。
最后我摆脱了雅虎并成功使用Rate Exchange JSON/JSONP APIs
可行的解决方案:
$url = 'http://rate-exchange.appspot.com/currency?from=EUR&to=USD';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
$eurUsd = json_decode($result)->{'rate'};
【问题讨论】:
-
你可以使用 CURL 库吗?
-
与cURL()?
-
我不知道。请发一个代码,我试试看。
-
对于投反对票的“专家”,请解释一下??
-
我没有投反对票.. 但我认为这可能与您的评论有关:
Please post a code and I'll try it- 所以不是“给我写代码”方面..但您应该先尝试然后再来如果您有问题,请回到这里
标签: php currency remote-access yahoo-finance