Bu örneğimizde, simplexml_load_string yöntemini kullanarak TCMB, XML kaynağı üzerinden döviz kurlarını alıyoruz.
Önce doviz bilgilerini alacak ve işleyecek olan fonksiyonumuzu yazalım.
doviz.php
kodlar.
<?php date_default_timezone_set('Europe/Istanbul'); function modul_doviz() { $saat = date('Hi',time()); // URL VE YOLLAR $dir = str_replace('\\','/', pathinfo(__FILE__, PATHINFO_DIRNAME ) ).'/'; // doviz XML Yolu $d_url = 'http://tcmb.gov.tr/kurlar/today.xml'; $ctx=stream_context_create(array('http'=> array( 'timeout' => 3 // 3 saniye ) )); // Lokal XML dosya yolumuz $file_xml = $dir.'doviz.xml'; $obj = (object) null; // nesne degiskeni olusturuyoruz $bugun = date('d.m.Y', time()); // dunku tarihi buluyoruz $szaman = date('d.m.Y', time()-86400); // dunku tarihi buluyoruz // eger xml dosyamizin tarihi dune esit degil ve ya saat 15:30 - 16:00 arasi ise if( !file_exists( $file_xml) OR date('d.m.Y',filemtime($file_xml)) != $bugun OR ($saat < 1600 && $saat > 1530 ) ) { $al = file_get_contents($d_url,false,$ctx); if($al !== false ) { file_put_contents($file_xml,$al); $xml = simplexml_load_string($al); $obj->zaman = $xml->attributes()->Tarih; } else { $okuma_hatasi = true; } } else { $al = file_get_contents($file_xml); if($al === false ) { $okuma_hatasi = true; } } if(!isset($okuma_hatasi)) { $xml = simplexml_load_string($al); // dosyamizi okuyoruz $obj->zaman = $xml->attributes()->Tarih; // dosyamizda kur tarihini okuyoruz $obj->dolar_alis = $xml->Currency[0]->ForexBuying; $obj->dolar_satis = $xml->Currency[0]->ForexSelling; $obj->euro_alis = $xml->Currency[11]->ForexBuying; $obj->euro_satis = $xml->Currency[11]->ForexSelling; $obj->frank_alis = $xml->Currency[5]->ForexBuying; $obj->frank_satis = $xml->Currency[5]->ForexSelling; } return $obj; } include $dir.'doviz.tmp.php';
Bundan sonrası artık Temamızda ( <?php $obj = modul_doviz()?> ) fonksiyonu çağırmaktır.
Örneğimizde ayrıca array değişken yerine $obj değişkeni üzerinden, nesne(object) değişken kullanımına da örnek vermiş oldum.
Tema dosyası içeriğini buraya almayacağım, zira vereceğim örnekte tema dosyaı olacağı gibi, indireceğiniz örnek dosya at->çalışsın biçimindedir.
Demoyu incelemek için tıklayın Uygulamayı indirmek için tıklayın
2 Yorum
Önceki temadan kalmış, editör içinden class girmiştim, sağol 🙂
buttonlardaki shadowu kaldır okunmuyo düzgün butonların 😀