veblebi-joomla

Pazar, 09 Şubat 2014 16:30

simplexml_load_string Döviz Kuru Almak

Bu örneğimizde, simplexml_load_string yöntemini kullanarak TCMB, XML kaynağı üzerinden döviz kurlarını alıyoruz. 

<?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';
 
    // XML dosyasi olusturma veya yazma
    if( !file_exists( $file_xml ) ) {
       $al = file_get_contents($d_url,false,$ctx);
       file_put_contents($file_xml,$al); // dosya yoktu olusuturldu
    }
 
    $al = file_get_contents($file_xml);
    $obj = (object) null; // nesne degiskeni olusturuyoruz
    // dunku tarihi buluyoruz
    $szaman = date('d.m.Y', time()-86400);
    $gun = date('w'); // haftanin hangi gununde oldugumuzu buluyoruz
 
    $xml = simplexml_load_string($al); // dosyamizi okuyoruz
    $obj->zaman = $xml->attributes()->Tarih; // dosyamizda kur tarihini okuyoruz
 
    // eger gunlerden cumartesi ve pazar degilse
    if( $gun != 0 AND  $gun != 6 ) {
    // ve eger xml dosyamizin tarihi dune esit degil ve saat 15:30 - 16:00 arasi ise
        if( $obj->zaman != $szaman OR ($saat < 1600 && $saat > 1530  ) ) {
          $al = file_get_contents($d_url,false,$ctx);
          file_put_contents($file_xml,$al);
          $xml = simplexml_load_string($al);
          $obj->zaman = $xml->attributes()->Tarih;
        }
    }
 
    $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

 

Kategori PHP & MYSQL

joomla-templates

Arama

Takvim

« Haziran 2019 »
Pzt Sal Çrş Per Cum Cmt Paz
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Login Form

dog-and-baby

Copyright © 2014. All Rights Reserved.