Şimdi Ara

PHP Döviz Kurları

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
646
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar lütfen yardım edin.
    www.muyas.com web sitem. 3 aydır bu web sitesi ile uğraşıyorum. biçok düzenleme yaptım ama bazı takıldığım yerler var.

    anasayfanın sol alt kısmında döviz kurları ve çevirici çalışmıyor.

    dovizler.php nin kodlarını veriyorum... Anlayan birisi sitenin görselini bozmadan, sadece verileri çekebilecek şekilde düzeltebilirse çok makbule geçecek

    <?php

    header('Content-Type: text/html; charset=latin5');

    if(!is_numeric($_GET['from'])) die("Bir hata meydana geldi!");
    else $from = $_GET['from'];

    if(!is_numeric($_GET['to'])) die("Bir hata meydana geldi!");
    else $to = $_GET['to'];

    $deger = $_GET['deger'];
    if(empty($deger)) die("Tutar giriniz!");
    $deger = str_replace(',','.',$deger);

    $degerler = explode(".",$deger);
    foreach($degerler as $boluk)
    {
    if(!is_numeric($boluk)) die("Bir hata meydana geldi!");
    }

    $adres = "http://www.tcmb.gov.tr/wps/wcm/connect/tcmb+tr/tcmb+tr/main+page+site+area/bugun.php";
    $kaynak = file_get_contents($adres);

    $kurlar = '#<td class=\"degerler\" >(.*?)</td>#si';
    preg_match_all($kurlar,$kaynak,$sonkur);

    $dolar = $sonkur[1][1];
    $euro = $sonkur[1][3];

    // TL:1 - DOLAR:2 - EURO:3

    if($to == 1) $currency = "TL";
    else if($to == 2) $currency = "Dolar";
    else $currency = "Euro";

    if($from == 1)
    {
    if($to == 2)
    {
    echo round($deger/$dolar,2)." ".$currency;
    }
    else if($to ==3)
    {
    echo round($deger/$euro,2)." ".$currency;
    }
    else echo round($deger,2)." ".$currency;
    }
    else if($from == 2)
    {
    if($to == 1)
    {
    echo round($deger*$dolar,2)." ".$currency;
    }
    else if($to ==3)
    {
    echo round($deger*$dolar/$euro,2)." ".$currency;
    }
    else echo round($deger,2)." ".$currency;
    }
    else if($from == 3)
    {
    if($to == 1)
    {
    echo round($deger*$euro,2)." ".$currency;
    }
    else if($to ==2)
    {
    echo round($deger*$euro/$dolar,2)." ".$currency;
    }
    else echo round($deger,2)." ".$currency;
    }
    else echo round($deger,2)." ".$currency;

    ?>



    < Bu mesaj bu kişi tarafından değiştirildi El-Turko -- 8 Kasım 2014; 21:44:57 >







  • bu şekilde alamazsın, xml feed olarak veriyor tcmb döviz kurlarını, onu parse etmen gerekir, sende saçma sapan bir adresten birşeyler çekmeyi deniyor
  • curl() ile, yani
    cURLdownload("http://www.tcmb.gov.tr/kurlar/today.html",'doviz.txt')
    ile cronjob'a ekleyerek verileri cek, daha sonra

    $row = 1;

    if (($handle = fopen('doviz.txt', 'r')) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
    $num = count($data);
    $row++;
    for ($c=0; $c < $num; $c++) {
    if($row==13) {

    $pieces1 = explode(" ", $data[$c]);

    $usd1 = $pieces1[5];
    $usd2 = $pieces1[6];


    }
    if($row==16) {

    $pieces2 = explode(" ", $data[$c]);
    $euro1 = $pieces2[5];
    $euro2 = $pieces2[6];


    }
    if($row==17) {

    $pieces3 = explode(" ", $data[$c]);
    $gbp1 = $pieces3[4];
    $gbp2 = $pieces3[5];


    }
    if($row==18) {

    $pieces4 = explode(" ", $data[$c]);
    $chf1 = $pieces4[4];
    $chf2 = $pieces4[5];


    }


    }
    }
    fclose($handle);
    }

    $chf2euro = $chf2 / $euro2;
    $chf2euro = number_format($chf2euro, '4', '.', ',');


    kodlarindan olusan salt php sayfasini, kullanacagin sayfaya import et,
    alis/satis fiyatlariyla birlikte istedigin yerde echo yap.


    EDIT : sayfa yapisini degistirmisler;http://www.tcmb.gov.tr/kurlar/today.xml
    today.html yerine bu adresi kullanip, ayni mantikla datayi cekebilirsin. XML'e hakimsen, coding ile cok ugrasmadan labellardan veriyi alabilirsin.



    < Bu mesaj bu kişi tarafından değiştirildi BuilderX -- 10 Kasım 2014; 3:45:48 >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.