$oran = (integer) $this->satis();
<?php // Class Adı : Currency Class v1.0 // Tarih : 02.08.2011 // Hazırlayan : Ali Emre Çakmakoğlu // Web - E-Mail: www.gncart.net | mail@gncart.net // Gereksinim : PHP 5+ if(version_compare(PHP_VERSION,'5.0.0','<')) exit('Özür dileriz. Bu classın kullanımı için PHP versiyonu yeterli değil. Min. = PHP 5.0'); class Currency { // XML URL private $file = "http://www.tcmb.gov.tr/kurlar/today.xml"; // EMPTY PATTERN private $mainPattern = ""; // DAILY CURRENCY TYPES private $types = array( '1' => 'USD', // Amerikan Doları '2' => 'EUR', // Euro '3' => 'GBP', // Sterlin / Pound '4' => 'CAD', // Kanada Doları '5' => 'AUD', // Avustralya Doları '6' => 'DKK', // Danimarka Kronu '7' => 'SEK', // İsviçre Kronu '8' => 'CHF', // İsviçre Frangı '9' => 'NOK', // Norveç Kronu '10' => 'JPY', // Japon Yeni '11' => 'SAR', // Suudi Arabistan Riyali '12' => 'KWD', // Kuveyt Dinarı '13' => 'TUB', // Rus Rublesi '14' => 'RON', // Yeni Rumen Leyi '15' => 'IRR', // İran Riyali '16' => 'BGN', // Bulgar Levası ); // CONSTRUCT // - Verilen XML dosyasında kur tipine ($types) göre pattern oluşturur. // - İstediğiniz kura karşılık gelen numarayı ('1' => 'USD') yazmanız yeterli. function __construct($type){ $file = file_get_contents($this->file); $totalTypes = count($this->types); $patternFirst = '<Currency Kod="'.$this->types[$type].'" CurrencyCode="'.$this->types[$type].'">'; if($type != $totalTypes){ $type02 = $type + 1; $patternLast = '<Currency Kod="'.$this->types[$type02].'" CurrencyCode="'.$this->types[$type02].'">'; }else{ $patternLast = '<Currency>'; } $firstStep = explode($patternFirst,$file); $secondStep = explode($patternLast,$firstStep[1]); $this->mainPattern = $secondStep[0]; } // UNIT // - Çıkartılan kurun "birimini" ekrana yazdırır. function Unit(){ preg_match('#<Unit>(.*?)</Unit>#',$this->mainPattern,$Unit); return $Unit[0]; } // NAME // - Çıkartılan kur bilgilerinin "ismini" ekrana yazdırır. function Name(){ preg_match('#<Isim>(.*?)</Isim>#',$this->mainPattern,$Name); return ucfirst($Name[0]); } // CURRENCY NAME // - Çıkartılan kurun "ingilizce ismini" ekrana yazdırır. function CurrencyName(){ preg_match('#<CurrencyName>(.*?)</CurrencyName>#',$this->mainPattern,$CurrencyName); return $CurrencyName[0]; } // FOREX BUYING // - Çıkartılan kurun "alış fiyatını" ekrana yazdırır. function ForexBuying(){ preg_match('#<ForexBuying>(.*?)</ForexBuying>#',$this->mainPattern,$ForexBuying); return $ForexBuying[0]; } // FOREX SELLING // - Çıkartılan kurun "satış fiyatını" ekrana yazdırır. function ForexSelling(){ preg_match('#<ForexSelling>(.*?)</ForexSelling>#',$this->mainPattern,$ForexSelling); return $ForexSelling[0]; } // BANKNOTE BUYING // - Çıkartılan kurun "efektif alış fiyatını" ekrana yazdırır. function BanknoteBuying(){ preg_match('#<BanknoteBuying>(.*?)</BanknoteBuying>#',$this->mainPattern,$BanknoteBuying); return $BanknoteBuying[0]; } // BANKNOTE SELLING // - Çıkartılan kurun "efektif satış fiyatını" ekrana yazdırır. function BanknoteSelling(){ preg_match('#<BanknoteSelling>(.*?)</BanknoteSelling>#',$this->mainPattern,$BanknoteSelling); return $BanknoteSelling[0]; } // CROSS RATE USD // - Çıkartılan kurun "abd doları ile arasındaki oranı" ekrana yazdırır. function CrossRateUSD(){ preg_match('#<CrossRateUSD>(.*?)</CrossRateUSD>#',$this->mainPattern,$CrossRateUSD); return $CrossRateUSD[0]; } // CROSS RATE OTHER // - Çıkartılan kurun "diğer kurlar ile arasındaki oranı" ekrana yazdırır. // - Şu an için boş değer döndürür. Merkez bankasının XML dosyasını güncellemesi gerekiyor. function CrossRateOther(){ preg_match('#<CrossRateOther>(.*?)</CrossRateOther>#',$this->mainPattern,$CrossRateOther); return $CrossRateOther[0]; } // CONVERT CURRENCY // - Gelen değeri o kur bilgisine çeviririr. Emlak fiyatı 175.000 TL girilmişse bu fiyatı kur satış fiyatına bölerek kaç (dolar/euro/pound/..) olduğunu hesaplar. function Converter($money){ echo $money / $this->ForexSelling(); } } ?>
$kur = new Currency(1); // Dolar bilgilerini alıyorum. // Emlak fiyatını o kura göre hesaplatmak için: $kur->Converter(175000); // Emlak fiyatını değer olarak gönderdiğim zaman hata alıyorum.