我正在尝试使用curl和Google计算器从此网址获取货币转换:http://www.google.com/ig/calculator?hl=en&q=100RUB=?EUR。但以下代码始终返回0:
<?php
function currency($from_Currency, $to_Currency, $amount) {
$amount = urlencode($amount);
$from_Currency = urlencode($from_Currency);
$to_Currency = urlencode($to_Currency);
//www.google.com/ig/calculator?hl=en&q=1USD=?EUR
$url = 'http://www.google.com/ig/calculator?hl=en&q=$amount$from_Currency=?$to_Currency';
$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);
$data = explode(',', $data['3']);
$var = $data['0'];
return round($var, 2);
}
echo currency("USD", "EUR", 1);
?>
任何人都可以建议这里有什么问题?
谢谢。答案 0 :(得分:2)
Using single quotes will mean that variables do not expand。改为使用双引号,或将字符串连接成多个部分。
$url = "http://www.google.com/ig/calculator?hl=en&q=$amount$from_Currency=?$to_Currency";
//or
$url = 'http://www.google.com/ig/calculator?hl=en&q=' . $amount . $from_Currency . '=?' . $to_Currency;