Öncelikle sınıf dosyamızı yaratalım:
<?
/* ########## TCMB Döviz Kurları Sınıfı ##############
*
* Merkez Bankası Günlük Döviz Kurları
* Tüm Para Birimleri İçin Kullanılabilir
* Alış, Satış, Efektif Alış ve Satış Bilgileri Alınabilir.
*
* TANIMLAR *********************
* Birim tanımları için tcmb nin sitesini inceleyebilirsiniz.
*
* -DA = Döviz Alış Fiyatı
* -DS = Döviz Satış Fiyatı
* -EA = Efektif Alış Fiyatı
* -ES = Efektif Satış Fiyatı
*
* ***********************************************
* Örnek Çıktı - $kur['Birim Kodu-Fiyat Türü'];
*
* echo $kur['USD-DS'];
*
* Yukarıdaki işlem bize dolar biriminin Döviz Satış Fiyatını Gösterecektir. *
*
* ####### İlham DENERİ - www.ilhamdeneri.com ########
*/
class KurGetir
{
public $adres = 'http://www.tcmb.gov.tr/kurlar/today.xml';
public $birimler = array('USD','CAD','DKK','SEK','CHF','NOK','JPY','SAR','KWD','AUD','EUR','GBP','RUB','RON','IRR','BGN');
public function Doviz()
{
$connect = @file_get_contents($this->adres);
if($connect)
{
$sonuc[] = NULL;
for($i=0; $i < count($this->birimler); $i++)
{
preg_match('#<currency Kod="('.$this->birimler[$i].')".*>(.*)</currency>#Uis',$connect,$aralik);
preg_match('#<ForexBuying>(.*?)</ForexBuying>#',$aralik[2],$ForexBuying);
preg_match('#<ForexSelling>(.*?)</ForexSelling>#',$aralik[2],$ForexSelling);
preg_match('#<BanknoteBuying>(.*?)</BanknoteBuying>#',$aralik[2],$BanknoteBuying);
preg_match('#<BanknoteSelling>(.*?)</BanknoteSelling>#',$aralik[2],$BanknoteSelling);
$sonuc[$this->birimler[$i]."-DA"] = $ForexBuying[1];
$sonuc[$this->birimler[$i]."-DS"] = $ForexSelling[1];
$sonuc[$this->birimler[$i]."-EA"] = $BanknoteBuying[1];
$sonuc[$this->birimler[$i]."-ES"] = $BanknoteSelling[1];
}
}else
{
$sonuc = "tcmb Bağlantısı Sağlanamadı";
}
return $sonuc;
}
}
?>kod alanında ibarelerle alakalı gerekli açıklamalar mevcut;
bir örnekle sayfamıza döviz kuru alalım.
yukarıdaki sınıfımızı eğer başka bir sayfa içerisinde kaydedip kullanacaksanız, ilk yapmanız gereken sınıfımızı kullanacağımız sayfaya include etmek olucaktır.
daha sonra sınıfımızı çağırıyoruz.
$dovizclass = new KurGetir();
sınıfımızı sayfamıza çağırdıktan sonra kurları çekeceğimiz fonksiyonumuzu bir değişkene atıyoruz.
$kur = $dovizclass->Doviz();
her kur için fonksiyona gitmemesi için kurları bir array dizisine depoladım, çağıracağımız döviz kurlarını bu array dizisi içerisinden alacağız.
Şimdi diyelimki imkb nin bize sunduğu kurlar içerisinden dolar’ın satış fiyatını almak istiyoruz.
uygulamamız gereken kod
echo $kur['USD-DS'];
işte bu kadar, ilk kaynak kodumuzun içerisinde array dizisindeki kurlardan nasıl veri çekeceğimizle alakalı gerekli açıklamalar yazmaktadır.
Kaynak:
http://www.ilhamdeneri.com