我想在

PHP中将货币从INR转换为USD,这是我迄今为止尝试过的代码.但它不起作用.我错过了什么?

function currency($from_Currency,$to_Currency,$amount) {

$amount = urlencode($amount);

$from_Currency = urlencode($from_Currency);

$to_Currency = urlencode($to_Currency);

$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,3);

}

$amount=130;

$from='INR';

$to='USD';

echo currency($from,$to,$amount);

最佳答案 谷歌将URL更改为

https://www.google.com/finance/converter?a

所以我发现的修复方法如下.

$amount = 1.00;

$from_Currency = 'USD';

$to_Currency = 'INR';

$amount = urlencode($amount);

$from_Currency = urlencode($from_Currency);

$to_Currency = urlencode($to_Currency);

$get = file_get_contents("https://www.google.com/finance/converter?a=$amount&from=$from_Currency&to=$to_Currency");

$get = explode("",$get);

$get = explode("",$get[1]);

echo $converted_amount = preg_replace("/[^0-9\.]/", null, $get[0]);