Döviz kurlarına ilişkin birçok sitede, değişik varyasyonlarda kullanışlı hazır kodlar bulunmaktadır. Bu kodlara ek olarak PHP5'le birlikte gelen simplexml_load_file fonksiyonu ve SimpleXMLElement sınıfı ile döviz kurlarını alan bir kod örneğini çalıştıracağız.
Anlaşılacağı üzere simplexml_load_file fonksiyonu kullanarak bilgiler alınacağı için, verilerin bir XML dosyasında olması gerekiyor. Bu aşama da iki seçenek belirmektedir. Merkez Bankası'ndan verileri alıp bir XML dosyasına yazdırabilirsiniz, yahut xml formatında döviz bilgileri sunan bir sitedeki dosyası kullanabilirsiniz. Altınkaynak.com sitesi piyasa bilgilerini XML olarak sunmaktadır.Dolayısı ile ikinci yolu baz alarak konuya devam ediyorum.
İşlem iki kısımdan oluşuyor.
1- simplexml_load_file kullanarak XML'deki içeriği nesne haline getirilmesi.
2- Seçtiğimiz kurları ekrana basılması
Kod:
<?php
// Turkwm.com - Doviz kurlari
// Aralık 2008
$xml = @simplexml_load_file('http://xml.altinkaynak.com/doviz.xml');
$cikti='';
$cikti.='Dolar<br />';
$cikti.='Alis='.$xml->DOVIZ[1]->ALIS.'<br />';
$cikti.='Satis='.$xml->DOVIZ[1]->SATIS.'<br />';
$cikti.='Euro<br />';
$cikti.='Alis='.$xml->DOVIZ[2]->ALIS.'<br />';
$cikti.='Satis='.$xml->DOVIZ[2]->SATIS.'<br />';
$cikti.='Sterlin<br />';
$cikti.='Alis='.$xml->DOVIZ[4]->ALIS.'<br />';
$cikti.='Satis='.$xml->DOVIZ[4]->SATIS.'<br />';
$cikti.='Japon Yeni<br />';
$cikti.='Alis='.$xml->DOVIZ[8]->ALIS.'<br />';
$cikti.='Satis='.$xml->DOVIZ[8]->SATIS.'<br />';
echo $cikti;
?>
Bu uygulamanın çalışabilmesi için sunucunuzda php5 yuklu olmalidir. Sunucunuzdaki php versiyonunu öğrenmek için bir php dosyası oluşturup aşağıdaki kodları ekleyerek browser'da görüntülemeniz yeterlidir.
<?php
echo 'Sunucunuzdaki PHP Versiyonu: ' . phpversion();
?>
Kendi tasarımınıza adapte edebilirsiniz. Cron yada cache(önbellek) kullanarak belirli aralıklarla güncelleyebilirsiniz. Amaç örneği sunmak olduğu için kodun bu hali yetecektir. Takıldığınız konuları yorum kısmında aktarmaktan çekinmeyin.
Demo: Döviz Kurları
Download: Php4 ve Php5 için ayrı ayrı düzenlenmiş kodların bulunduğu arşiv dosyasıdır.
Anlaşılacağı üzere simplexml_load_file fonksiyonu kullanarak bilgiler alınacağı için, verilerin bir XML dosyasında olması gerekiyor. Bu aşama da iki seçenek belirmektedir. Merkez Bankası'ndan verileri alıp bir XML dosyasına yazdırabilirsiniz, yahut xml formatında döviz bilgileri sunan bir sitedeki dosyası kullanabilirsiniz. Altınkaynak.com sitesi piyasa bilgilerini XML olarak sunmaktadır.Dolayısı ile ikinci yolu baz alarak konuya devam ediyorum.
İşlem iki kısımdan oluşuyor.
1- simplexml_load_file kullanarak XML'deki içeriği nesne haline getirilmesi.
2- Seçtiğimiz kurları ekrana basılması
Kod:
<?php
// Turkwm.com - Doviz kurlari
// Aralık 2008
$xml = @simplexml_load_file('http://xml.altinkaynak.com/doviz.xml');
$cikti='';
$cikti.='Dolar<br />';
$cikti.='Alis='.$xml->DOVIZ[1]->ALIS.'<br />';
$cikti.='Satis='.$xml->DOVIZ[1]->SATIS.'<br />';
$cikti.='Euro<br />';
$cikti.='Alis='.$xml->DOVIZ[2]->ALIS.'<br />';
$cikti.='Satis='.$xml->DOVIZ[2]->SATIS.'<br />';
$cikti.='Sterlin<br />';
$cikti.='Alis='.$xml->DOVIZ[4]->ALIS.'<br />';
$cikti.='Satis='.$xml->DOVIZ[4]->SATIS.'<br />';
$cikti.='Japon Yeni<br />';
$cikti.='Alis='.$xml->DOVIZ[8]->ALIS.'<br />';
$cikti.='Satis='.$xml->DOVIZ[8]->SATIS.'<br />';
echo $cikti;
?>
Bu uygulamanın çalışabilmesi için sunucunuzda php5 yuklu olmalidir. Sunucunuzdaki php versiyonunu öğrenmek için bir php dosyası oluşturup aşağıdaki kodları ekleyerek browser'da görüntülemeniz yeterlidir.
<?php
echo 'Sunucunuzdaki PHP Versiyonu: ' . phpversion();
?>
Kendi tasarımınıza adapte edebilirsiniz. Cron yada cache(önbellek) kullanarak belirli aralıklarla güncelleyebilirsiniz. Amaç örneği sunmak olduğu için kodun bu hali yetecektir. Takıldığınız konuları yorum kısmında aktarmaktan çekinmeyin.
Demo: Döviz Kurları
Download: Php4 ve Php5 için ayrı ayrı düzenlenmiş kodların bulunduğu arşiv dosyasıdır.
simplexml_load_file sadece 5 ve üzeri php versiyonunda çalışıyor benim serverda 5in altı php var mesela bu komutun 4 ile çalışan bir versiyonu vardır onu açıklarmısınız teşekkürler
YanıtlaSilSunucuda PEAR desteği var mı ? Eğer varsa XML_SERIALIZER ile aynı işlem yapılabilir. Pear konusunda bilgi verebilirseniz son duruma göre örnek bir kod yazar eklerim.
YanıtlaSilSF'deki alanımıza php4 ve php5 için gerekli kodların olduğu arşiv dosyasını ekledim.
YanıtlaSilYazıyı düzenleme yetkim yok. Konuya eklenmesi daha iyi olur.