PHP ile güncel döviz kuru çekme uygulaması

PHP Trend Makale

Merhabalar, bu yazımızda TCMB‘nin bize vermiş olduğu http://www.tcmb.gov.tr/kurlar/today.xml XML adresinden güncel döviz kurlarını çekeceğiz. Durun durun hemen aklınıza CURL gelmesin, bugün ki kahramanımız simplexml_load_file() metodu olacak. Bu metod elimizde ki XML den verileri kolayca çekmemize yarayacak. Hadi başlayalım.

Adım 1: Metodu kullanalım

$kur = simplexml_load_file("https://www.tcmb.gov.tr/kurlar/today.xml");

Adım 2: Döngüye sokalım 

foreach ($kur -> Currency as $cur) {
	if ($cur["Kod"] == "USD") {
		$usdAlis  = $cur -> ForexBuying;
		$usdSatis = $cur -> ForexSelling;
	}

	if ($cur["Kod"] == "EUR") {
		$eurAlis  = $cur -> ForexBuying;
		$eurAlis = $cur -> ForexSelling;
	}
}

Adım 3: Verileri arayüze çekelim

<div style="width:15%">
	<h3>Döviz Kuru</h3>
	<hr>
	<b>USD Alış: </b> <?php echo $usdAlis; ?> <br>
	<b>USD Satış: </b> <?php echo $usdSatis; ?>
	<hr>
	<b>EURO Alış: </b> <?php echo $eurAlis; ?> <br>
	<b>EURO Satış: </b> <?php echo $eurAlis; ?>
</div>

İşte güncel döviz bilgilerini çekmek bu kadar kolay. Eğer farklı para birimleri eklemek isterseniz XML dosyasına girin ve Sayfa Kaynagığına girin (CTRL+U).Karşınıza Currency etiketleri arasında para birimleri gelecektir. İstediğiniz para biriminin kodunu Adım 2'deki döngü kısmına girmeniz ve arayüze yansıtmanız yeterlidir.

<Currency CrossOrder="1" Kod="AUD" CurrencyCode="AUD">
	<Unit>1</Unit>
	<Isim>AVUSTRALYA DOLARI</Isim>
	<CurrencyName>AUSTRALIAN DOLLAR</CurrencyName>
	<ForexBuying>9.7458</ForexBuying>
	<ForexSelling>9.8094</ForexSelling>
	<BanknoteBuying>9.7010</BanknoteBuying>
	<BanknoteSelling>9.8683</BanknoteSelling>
	<CrossRateUSD>1.3938</CrossRateUSD>
	<CrossRateOther/>
</Currency>

Beni izlediğinizi için teşekkür ederim heart


Yorumlar (3)

  • burak burak 3 ay önce

    foreach ($kur -> Currency as $cur) { if ($cur["Kod"] == "USD") { $usdAlis = $cur -> ForexBuying; $usdSatis = $cur -> ForexSelling; } if ($cur["Kod"] == "EUR") { $PARİTE = $cur -> CrossRateOther; $eurSatis = $cur -> ForexSelling; PARİTE olan yerde CROSSRATE ile çözdüm . Yanıtla

    • Emin Yılmaz 3 ay önce

      Bravo. Zamanım olmadığı için bakamadım ama sorunu çözüp burada paylaştığın içinde ayrıca teşekkür ediyorum. Başarılar dilerim.

  • burak burak 3 ay önce

    Çapraz Kurlar / Cross Rates altında EUR/USD Euro ve Dolar paritesini çekemedim 1,0722 çıkması gerekiyor hiç bir şekilde çekemedim Yanıtla

  • burak burak 3 ay önce

    Teşekkürler çok işime yaradı . Ama bir türlü EUR/USD pariteyi çekemedim yardımcı olur musunuz? Yanıtla

    • Emin Yılmaz 3 ay önce

      Merhaba Bura, uygulamada EUR/USD verilerini çekiyoruz tam olarak, tam olarak hangi kısmı çekemediniz?