Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Frederick Moschkowich

[Resolvido] Pegar cotação de moedas

Recommended Posts

Olá pessoal,

 

usava os dados do Banco Central para pegar a cotação de várias moedas e colocar no meu site. Bem, no BC não está rolando mais. Depois de muito tempo procurando um bom arquivo CSV com informações de várias moedas, achei o do Yahoo Finances.

Fiz um script pequeno e funcional. Podem usar a vontade e, quem quiser melhorar tb.

segue:

 

<?

/********************************************************************************
*****/
/* Funcao para pegar cotacao no Yahoo Finances						   										*/
/* Criada por: Frederick Moschkowich - www.fm-consultoria.com.br		 								*/
/* fm.consultoria@gmail.com														   */
/* Em: 09 de dezembro de 2008																						   */
/*																	   															  */
/* Exemplo de uso														 	  */
/* $dtMoeda = pega_cota('JPY'); // Pega o array com os valores da moeda 	 					 */
/* desejada. EUR -> Euro; USD -> Dolar Americano; GBP -> Libra Esterlina;							 */ 
/* JPY -> Yen																 */
/*																		  */
/* echo "Cotação do dia ". $dtMoeda['data']." as ".$dtMoeda['hora']."<br>";							 */
/* // Escreve os valores achados													 */
/* echo "Cotacao: ".$dtMoeda['cotacao']."<br>";										 */
/* echo "Bid: ".$dtMoeda['bid']."<br>";											*/
/* echo "Ask: ".$dtMoeda['ask']."<br>";											*/
/*																		 */
/* echo '<em>©<a href="http://finance.yahoo.com/currency">Yahoo Finances</a>';			  */
/* // Copyright do Yahoo Finances												*/
/********************************************************************************
*****/

function pega_cota($moeda) { // Inicia a funcao para pegar a cotacao de determinada moeda ($moeda)

	$link = "http://download.finance.yahoo.com/d/quotes.csv?s=".$moeda."BRL=X&f=sl1d1t1ba&e=.csv"; //link para pegar a cotacao no formato CSv
	
	if (@fopen($link,"r")) { // abre o arquivo CSV
	  $arq = file($link);
	}
   
		if (is_array($arq)) { // Se o arquivo retornar um array continua
	
		   for ($x=0;$x<count($arq);$x++) { // Passa por todas as chaves do array
		   
			  $linha = explode(",",$arq[$x]); // Separa os valores do arquivo CSV
			  
			  $result['cotacao']  = $linha[1]; // Pega o valor que o Yahoo usa para fazer a conversao
			  $result['data'] = ereg_replace('"','',$linha[2]); // Retira as aspas da data
			  $result['data'] = date('F d Y',strtotime($result['data']));
			 
			  $result['hora'] = ereg_replace('"','',$linha[3]); // Retira as aspas do horario da cotacao
			  $result['bid']  = $linha[4]; // Pega o valor de compra da moeda
			  $result['ask']  = $linha[5]; // Pega o valor de venda da moeda
			 
		   }
		}
	
		else{ // Se o arquivo nao retornar nenhum array
		
			$result['cotacao'] = "N/A"; // Define not avaiable para os campos
			$result['data'] = "N/A";
			$result['hora'] = "N/A";
			$result['bid']  = "N/A";
			$result['ask']  = "N/A";
		}
	
	
return $result; // retorna o array com os valores a serem usados

}

?>

abs

 

FM

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.