Merhabalar, Günümüzde belki'de en çok yaptığımız uygulamalardan biriside döviz kuru'dur. Bende bu uygulamayı yaptım. Ancak problemler ortaya çıktı. IMKB ara sıra yayınlamayı kesiyordu. Sitede hatalar meydana geliyordu. Bu problemlerden ötürü site hiç çalışmıyordu. Haliyle site yayından kaldırılıyor ve otomatik olarak app_offline.html ekleniyor ve site yayından çekiliyordu. Bu problemlerin önüne geçebilmek adına farklı bir uygulama yaptım.
1-) IMKB sitesi ile bağlantı oluşturuluyor ve XML dosya okunuyor
2-) IMKB ile bağlantı varsa
a-) XML dosya okunuyor
b-) Okunulan bilgiler projemde oluşturduğum XML dosyaya kayıt ediliyor.
c-) IMKB sitesinde okunulan bilgiler sitede gösteriliyor
d-) işlem sonlandırılıyor.
3-) IMKB ile bağlantı yoksa
a-) En son kayıt edilen Projemde ki XML dosya okunuyor
b-) Okunulan bilgiler sitede gösteriliyor
c-) Proje sonlandırılıyor.
evet yukarıdaki işlemleri şimdi birde kod kısmına dökelim :) ilk olarak bir dosya oluşturalım (Tercihim User Control oluşturmanızdan yanadır)
aspx.cs dosyası
|
|
aspx sayfası
|
|
ve birde projemize class dosyası verelim ve adını da wDataRead koyalım. İçeriği de aynen aşağıdaki gibi olsun
|
|
projemiz bitti. Herkes istediği gibi kullanabilir umarım :) Bu uygulama biraz daha geliştirilebilir. Mesela outputcache kullanılarak her saat başı verilerin çekilmesi sağlanır. Böylelikle projenizi daha az kasmış olur.
Saygılarımla
Halit ÇOLAK.
önceki yazı Php Uzun kelime ve sağa uzama sorunu |
sonraki yazı Php number_format() |
isterseniz buradaki altın ve döviz için olan kodları sitenize ekleyerek bu işi daha kolayca halledebilirsiniz. Hatta sadece tcmb ile sınırlı değil istediğiniz banka veya kapalı çarşı, altınkaynak gibi serbest piyasa değerlerini bile alabilirsiniz.
Bu gerekli bir eklenti.
bu modülün php versiyonunu yayınlayabilme imkanınız varmıdır acaba?
Gerçekten PHP olarak yayınlamak isterdim ancak ne yazık ki PHP bilgim bu kadar yeterli değil. Kusuruma bakmayın
Selamlar,
yinede teşekkür ederim cevabınız için umarım ilerki zamanlarda oda olur .
Gerçekten ilginç, ama dikkatimide çekti hoş...
Teşekkürler.
Selamlar. PHP versiyonu şöyle oluyor :
// kurları bu satırda seçiyoruz :
$tcmbCurrencies = array('TRY','USD','EUR','GBP');
$tcmbRates = array();
$tcmbRates['TRY'] = 1;
$xml = get_data('http://www.tcmb.gov.tr/kurlar/today.xml');
$currencies = simplexml_load_string($xml);
foreach ($currencies->Currency as $currency) {
$code = (string)$currency->attributes()->CurrencyCode;
$unit = (string)$currency->Unit;
$rate = (float)$currency->ForexSelling;
if (in_array($code,$tcmbCurrencies)) {
$rate = $unit*$rate;
$tcmbRates[$code] = $rate;
}
}
// değerleri burada yazdırıyoruz :
print_r($tcmbRates);
// basit bir curl fonksiyonu, görevi tcmb'den kur değerlerini içeren xml'i çekmek
function get_data($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$tcmbRates array'inden istediğiniz kurun değerini çekiyorsunuz. Örneğin USD için değer : $tcmbRates['USD'] oluyor. number_format ya da round'la da son rötuşu veriyorsunuz.
pillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.
Nokta ve pilli ortak yapımı olan kodaman.org kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.