21

Abr

Cambio de moedas com PHP

Escrito por Gonçalo Martins   

cambio de moedas com phpQuantas vezes gostaria de ter possuído um script em que pudesse realizar automaticamente o cambio do valor da sua moeda para uma outra de outro Pais? Isso agora é possível graças à API do Google Finance que permite muito facilmente converter determinado valor de alguma moeda suportada. Suponhamos que queríamos converter em Euros o valor 990GBP (Libra Esterlina).

 

Poderíamos utilizar algo como o código que lhe forneço abaixo. No final do artigo fica uma lista das moedas suportadas e dos respectivos códigos ISO 4217, compatíveis com o script.


php
  1. <?php
  2. //Editar em baixo os valores e a moeda
  3. $preco=Convert('GBP', 'EUR','990');
  4. //<- Editar
  5. if($preco!=false){
  6. echo $preco;
  7.  
  8. }
  9. else{echo "conversão não possível";
  10. }
  11.  function Convert($from, $to, $preco)
  12.     {   $url = "http://www.google.com/finance/converter?a=$preco&from=$from&to=$to";
  13.  
  14.         $data = getPage($url);
  15.     
  16.         if(empty($data))
  17.             return false;
  18.  
  19.        
  20.         $dom = new DOMDocument();
  21.  
  22.         @$dom->loadHTML($data);
  23.        
  24.         $return = @$dom->getElementById('currency_converter_result')
  25.                     ->getElementsByTagName('span')
  26.                     ->item(0)
  27.                     ->firstChild
  28.                     ->wholeText;
  29.  
  30.         $return =  (float)$return;
  31.        
  32.         if($return == 0 )
  33.             return false;
  34.  
  35.        
  36.         return $return;
  37.  
  38.     }
  39.    
  40.     function getPage($url)
  41.     {   if(ini_get('allow_url_fopen') != 1) {
  42.               @ini_set('allow_url_fopen', '1');
  43.  
  44.           }
  45.            if(ini_get('allow_url_fopen') != 1) {
  46.               $ch = curl_init();
  47.  
  48.               curl_setopt($ch, CURLOPT_URL,$url);
  49.  
  50.               curl_setopt($ch, CURLOPT_FAILONERROR, 1);
  51.  
  52.               curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  53.  
  54.               curl_setopt($ch, CURLOPT_TIMEOUT, 3);
  55.  
  56.               $data = curl_exec($ch);
  57.  
  58.               curl_close($ch);
  59.  
  60.             }  
  61.             else {
  62.             $data = file_get_contents($url);
  63.  
  64.             }  
  65.       return $data;
  66.  
  67.       }       
  68. ?>



Tabela de Códigos ISO 4217:

United Arab Emirates Dirham (AED)
Netherlands Antillean Gulden (ANG)
Argentine Peso (ARS)
Australian Dollar (AUD)
Bulgarian Lev (BGN)

Brunei Dollar (BND)
Bolivian Boliviano (BOB)
Brazilian Real (BRL)
Botswana Pula (BWP)
Canadian Dollar (CAD)
Swiss Franc (CHF)
Chilean Peso (CLP)
Chinese Yuan (renminbi) (CNY)

Colombian Peso (COP)
Serbian Dinar (CSD)
Czech Koruna (CZK)
Danish Krone (DKK)
Estonian Kroon (EEK)
Egyptian Pound (EGP)
Euro (EUR)
Fijian Dollar (FJD)
British Pound (GBP)
South Korean Won (KRW)
Kuwaiti Dinar (KWD)
Kazakhstani Tenge (KZT)
Sri Lankan Rupee (LKR)
Lithuanian Litas (LTL)
Moroccan Dirham (MAD)
Mauritian Rupee (MUR)
Mexican Peso (MXN)
Malaysian Ringgit (MYR)

Norwegian Krone (NOK)
Nepalese Rupee (NPR)
New Zealand Dollar (NZD)
Omani Rial (OMR)
Peruvian Nuevo Sol (PEN)
Philippine Peso (PHP)
Pakistani Rupee (PKR)
Polish Złoty (PLN)
Qatari Riyal (QAR)

New Romanian Leu (RON)
Russian Ruble (RUB)
Saudi Riyal (SAR)
Swedish Krona (SEK)
Trinidad and Tobago Dollar (TTD)
New Taiwan Dollar (TWD)
Ukrainian Hryvnia (UAH)
United States Dollar (USD)
Venezuelan Bolívar (VEB)
South African Rand (ZAR)

Hong Kong Dollar (HKD)
Honduran Lempira (HNL)
Croatian Kuna (HRK)
Hungarian Forint (HUF)
Indonesian Rupiah (IDR)
New Israeli Sheqel (ILS)
Indian Rupee (INR)
Icelandic Króna (ISK)
Japanese Yen (JPY) 

Singapore Dollar (SGD)
Bahraini Dinar (BHD)
Slovenian Tolar (SIT)
Slovak Koruna (SKK)
Thai Baht (THB)
New Turkish Lira (TRY)
 

 



Gostou deste Artigo?
Subscreva o feed RSS ou reguiste-se na Newsletter do WebLouca, agora!
Categoria:
Se preferir, pode ainda deixar um comentário
cometarios
Trackback(0)

Escreva o seu Comentario
 
  pequeno | maior
 

busy
 

Patrocinadores do Site

Subscrever Feed



Artigos

Ultimos artigos
jsimageNeste artigo vou-lhe demonstrar como rodar imagens e qualquer elemento desde div a span co...
phpthumbAtualmente praticamente todos os websites possuem a necessidade de listar os seus artigos...
benchmarksA pouco mais de um ano falei sobre uma ferramenta para otimizar imagens (Artigos/optimize...
phpimageredRedimensionar uma imagem com php pode ser um processo complicado. Quando por exemplo um wo...
linksafiliadosNo inicio do ano escrevi um artigo onde dáva a conhecer uma forma de criar links de afili...