Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

T.C.M.B den döviz kuru çeken script # Kaynak #

Konu, 'PHP' kısmında LoS.ToF tarafından paylaşıldı.

  1. LoS.ToF

    LoS.ToF Daimi Üye

    Kayıt:
    11 Ağustos 2002
    Mesajlar:
    1,088
    Beğenilen Mesajlar:
    0
    Meslek:
    PHP Developer
    Şehir:
    Antalya
    Mkarabulut forumlarda yazılmış bir kod verdi bende onu geliştirdim foksiyon haline soktum buyrun.:cool:

    Eğerki kodu geliştirip tekrardan buraya verirseniz sevinirim. yonetim bolumude yapmayı düşünüyordum ama vaktim yok ona. :super:

    PHP:
    <? 
    error_reporting(E_ALL);
    function 
    tcmb($bakilacak,$site){
        
    $dosya = @fopen($site"r"); 
            if (
    $dosya) { 
            
    $geldi false;
                while(!
    feof($dosya)) { 

                    
    $satir fgets($dosya,512);
                    
    $code substr($satir03); 
                    if ((
    $code == $bakilacak) && ($geldi == false)) {
                        
    $geldi true;
                        
    $sonuc split("[[:space:]]+" $satir);
                        
    $doviz[1] = substr($sonuc[4], 09); 
                        
    $doviz[2] = substr($sonuc[5], 09);
                        
    $doviz[3] = substr($sonuc[6], 09);
                        
    $doviz[4] = substr($sonuc[7], 09);
                    }

                } 
    // while
        
    return $doviz;
            } 
    // if($dosya)
    }// function

    $usd_doviz tcmb('USD','http://www.tcmb.gov.tr/kurlar/today.html');
    $eur_doviz tcmb('EUR','http://www.tcmb.gov.tr/kurlar/today.html');
    $gbp_doviz tcmb('GBP','http://www.tcmb.gov.tr/kurlar/today.html');

    ?>

    <table>

        <tr align="center">
            <td><font size="1" face="verdana" color="red"><b>USD Alış</b></font></td>
            <td><font size="1" face="verdana" color="red"><b>USD Satış</b></font></td>
            <td><font size="1" face="verdana" color="red"><b>EURO Alış</b></font></td>
            <td><font size="1" face="verdana" color="red"><b>EURO Satış</b></font></td>
            <td><font size="1" face="verdana" color="red"><b>Sterlin Alış</b></font></td>
            <td><font size="1" face="verdana" color="red"><b>Sterlin Satış</b></font></td>
        <tr>

        <tr align="center">
            <td><font size="1" face="arial"><?=$usd_doviz[3];?></font></td>
            <td><font size="1" face="arial"><?=$usd_doviz[4];?></font></td>
            <td><font size="1" face="arial"><?=$eur_doviz[3];?></font></td>
            <td><font size="1" face="arial"><?=$eur_doviz[4];?></font></td>
            <td><font size="1" face="arial"><?=$gbp_doviz[3];?></font></td>
            <td><font size="1" face="arial"><?=$gbp_doviz[4];?></font></td>
        <tr>

    </table>
     
  2. hmustak

    hmustak PersianBulls

    Kayıt:
    29 Mayıs 2002
    Mesajlar:
    4,607
    Beğenilen Mesajlar:
    0
    Meslek:
    BT/QA
    Şehir:
    Persian
    eline sağlık dostum :D

    bende şimdi oturup, merkez bankasından para çekip benim hesaba para yatıran bi fonksiyon yazıp yayınlıycam.... :D:D:D
     
  3. LoS.ToF

    LoS.ToF Daimi Üye

    Kayıt:
    11 Ağustos 2002
    Mesajlar:
    1,088
    Beğenilen Mesajlar:
    0
    Meslek:
    PHP Developer
    Şehir:
    Antalya
    :D ehehe.

    aaa aklıma şimdi geldi script tekrar tekrar gidip siteye bağlanıyor şunu biraz araylıyayım da tek sefer de bağlansın çeksin :)
     
  4. mkarabulut

    mkarabulut Misafir

    :D :D :D
    Bende isterem
     
  5. hmustak

    hmustak PersianBulls

    Kayıt:
    29 Mayıs 2002
    Mesajlar:
    4,607
    Beğenilen Mesajlar:
    0
    Meslek:
    BT/QA
    Şehir:
    Persian
    Fonksiyon yazılırda, ama para benim hesapda toplanacak, he he he

    ---------
    siz yine de bi mail atın bana ;)
     
  6. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    Selamlar

    Bu konuda benımde hazırladıgım bır scrıpt var.. Kurulumu kolay ve sorunsuz.. Conf.php ıcınden gereklı degıskenler verıldıkten sonra tabloları kendısı olusturuyor ve bilgi.php belırlenen zaman aralıgında elde ettıgı degerlerı tablolara ıslıyor..
    Ornek olması ıcın hazırladıgım main.php de tablolardakı verılerı lıstelıyor..

    Calısır halını gormek ıcın:

    http://www.radyobogaz.com/main.php?go=hava
    http://www.radyobogaz.com/main.php?go=doviz

    Adreslerıne bakabılırsınız..

    Download adresi

    http://www.radyobogaz.com//download/bilgi.zip

    Umarım ıse yarar..
     
  7. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    lostof guzel yazmisim eline saglik ama dolarlari cekmemisiniz banami biraktiniz:D
    bu arada bir iki soru sorayim
    [[:space:]]+ buradaki + ne ise yariyor
    geldi== true gibi islere niye girmisin ki
    bende asagidaki gibi yazdim biraz daha hizli:D
    PHP:
    <?
    error_reporting(E_ALL);
    function 
    tcmb($bakilacak,$site)
    {
    $fp=@fopen($site,"r");

      if(
    $fp)
      {

         while(!
    feof($fp))
         {
         
    $satir=fgets($fp,512);
         
    $code=substr($satir,0,3);

            if(
    $code==$bakilacak)

            {
            
    $sonuc=split("[[:space:]]+",$satir);
            
    $doviz[1]=substr($sonuc[4],0,9);
            
    $doviz[2]=substr($sonuc[5],0,9);
            
    $doviz[3]=substr($sonuc[3],0,9);
            
    $doviz[4]=substr($sonuc[4],0,9);
            return 
    $doviz;
            }

         }
    //end while

      
    }//end fp

    }//end function

    $usd_doviz=tcmb('USD','http://www.tcmb.gov.tr/kurlar/today.html');
    $eur_doviz=tcmb('EUR','http://www.tcmb.gov.tr/kurlar/today.html');

    ?>
    <table cellpadding=0 cellspacing=0 align=center style="border:1px solid #000000;font-family:verdana;font-size:10px;width:175;">
    <tr><td colspan=3 bgcolor="#FFFFCC" align="center" style="font-weight:bold;">DÖVÝZ KURLARI</td></tr>


    <tr bgcolor="#E9E9E9">
    <td style="font-weight:bold;">Dolar:</td><td><? echo $usd_doviz[1];?></td><td><?echo $usd_doviz[2];?></td>
    </tr>

    <tr bgcolor="#F3F3F3">
    <td style="font-weight:bold;">Euro:</td><td><? echo $eur_doviz[3];?></td><td><?echo $eur_doviz[4];?></td>
    </tr>


    </table>

    hava durumu bilgilerini cekecek anlasilir bildiginiz bir kod varmi
    sevgilerler
     
  8. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
  9. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    php.org.tr hava durumumu ceken script buldum sen yazmissin sanirim
    preg_match_all("#\<TD\>\<div\>Sýcaklýk\<\/div\>\<\/TD\>\<TD\>\<div\>(.*?)\°C\<\/div\>\<\/TD\>\<\/TR\>#si", $icerik, $hava_sc);
    $hava_sc[1][$i] = intval($hava_sc[1][$i]);
    $hava_sc = $hava_sc[1][$i]."° C";

    # niye diyez işaretle başlayıp bitmiş preg_matc_all
    diyezin anlamı ne burda
     
  10. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    :) Doğrusunu söylemek gerekirse bunun cevabını bende bilmiyorum.. Cunku bende bu satırları bı baskasından aldım ve sadece ustune bı kac ılave yaptım.. Ama emınım buralarda bı yerde bu soruya cevap verecek bırılerı vardır :)
     
  11. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    PHP:
    set_time_limit(0); 

    $sehir "ANTALYA";
    $lnk "http://www.meteor.gov.tr/pages/$sehir.htm"

    if(
    $dosya = @fopen($lnk"r")) 


    while (!
    feof($dosya)) 

    $satir fgets($dosya8192); 
    $satir str_replace("\n"""$satir); 
    $satir str_replace("\r"""$satir); 
    $icerik .= trim($satir); 

    fclose($dosya); 


    //preg_match_all("#\<TD width\=50\%\>\<div\>Hava Durumu\<\/div\>\<\/TD\>\<TD width\=50\%\>\<div\>\<img src\=\"(.*?)\.gif\"\>\<br\>(.*?)\<\/div\>\<\/TD\>\<\/TR\>#si", $icerik, $hava_dr); 
    //$hava_dr=str_replace(",",",",$hava_dr);

    preg_match_all("#\<TD\>\<div\>Sýcaklýk\<\/div\>\<\/TD\>\<TD\>\<div\>(.*?)\°C\<\/div\>\<\/TD\>\<\/TR\>#si"$icerik$hava_sc); 
    $hava_sc intval($hava_sc)."°C";
    echo 
    $hava_sc;

    echo ile hava sicakligini ekrana bastigim zaman 1 derece olarak yaziyo niyedir
     
  12. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    PHP:
    <?
    set_time_limit(0);

    $lnk "http://www.meteor.gov.tr/pages/ANTALYA.htm";

    if(
    $dosya = @fopen($lnk"r"))
    {

    while (!
    feof($dosya))
    {
    $satir fgets($dosya8192);
    $satir str_replace("\n"""$satir);
    $satir str_replace("\r"""$satir);
    $icerik .= trim($satir);
    }
    fclose($dosya);

    preg_match_all("#\<TD\>\<div\>Sıcaklık\<\/div\>\<\/TD\>\<TD\>\<div\>(.*?)\°C\<\/div\>\<\/TD\>\<\/TR\>#si",
    $icerik$hava_sc);

    $hava $hava_sc[1][0]."° C";
    echo 
    $hava;
    }
    ?>
    Şeklinde degıstırsen kodlarını sorun kalmıyacaktır.. Dikkat etmen gereken $hava_sc bir dizi degiskenı ve iki boyutlu. Yani $hava_sc[0][0] sana kiriter olarak verdiğin tüm degerı gerı dondururken $hava_sc[1][0] degiskenı sana sadece (*.?) deyımıyle belırtılen 21 degerını dondurecektır.. Ayrıca bır kırıter ıcınde bırden fazla (*.?) deyımını kullanırsan sırasıyla ılkı ıcın $hava_sc[1][0] ıkıncısı ıcın $hava_sc[2][0] kulllanmalısın ... Yanı sag taraf sabıt (bı donguye gırmedıgın surece) sol taraf degısken.. istersen sunu bı calıstır ve dene :)
    PHP:
    <?
    set_time_limit(0);

    $lnk "http://www.meteor.gov.tr/pages/ANTALYA.htm";

    if(
    $dosya = @fopen($lnk"r"))
    {

    while (!
    feof($dosya))
    {
    $satir fgets($dosya8192);
    $satir str_replace("\n"""$satir);
    $satir str_replace("\r"""$satir);
    $icerik .= trim($satir);
    }
    fclose($dosya);

    preg_match_all("#\<TD\>\<div\>(.*?)\<\/div\>\<\/TD\>\<TD\>\<div\>(.*?)\°C\<\/div\>\<\/TD\>\<\/TR\>#si",
    $icerik$hava_sc);

    echo 
    "a ".$hava_sc[0][0]."\r\n";
    echo 
    "b ".$hava_sc[1][0]."\r\n";
    echo 
    "c ".$hava_sc[2][0]."\r\n";
    }
    ?>
    sayfanın kaynagına bakarsan ne demek ıstedıgımı daha ıyı anlıyacaksın..


    Daha oncede soyledıgım gıbı bunun neden boyle oldugunu bılmıyorum ama deneme yanılma yontemıyle bu sonuca ulastım.. Umarım bırı cıkıp bızı aydınlatır :)


    Kolay gelsın...
     
    Son düzenleme yönetici tarafından yapıldı: 7 Ekim 2002
  13. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    thanks hunter

    o birisi bügünlerde biraz depresif takılıyo aşık mı ne :p
     
  14. LoS.ToF

    LoS.ToF Daimi Üye

    Kayıt:
    11 Ağustos 2002
    Mesajlar:
    1,088
    Beğenilen Mesajlar:
    0
    Meslek:
    PHP Developer
    Şehir:
    Antalya
    nietzsche onu yapmamın sebebi ufak bir kontrol çünkü "today" sayfasını biraz dikkatli incelersen USD nin tekrardan sayfa içerisinde yazıldığını görüceksin.
     
  15. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    today sayfasını inceledim kardeş onun için kurları görünce çıktım :D
    diğerleri çapraz kur :p
     
  16. mkarabulut

    mkarabulut Misafir

    Arkadaşlar netetmişsiniz ,dağıtmışsınız sayfayı :)
    Heryer scrollbar olmuş,ehe :)
     
  17. Sahin

    Sahin Daimi Üye

    Kayıt:
    28 Mayıs 2002
    Mesajlar:
    8,943
    Beğenilen Mesajlar:
    0
    İşte bu kodları böyle yapmasını hiç sevmiyorum forumun. :)
     
  18. odurma

    odurma Üye

    Kayıt:
    16 Mart 2003
    Mesajlar:
    125
    Beğenilen Mesajlar:
    0
    Şehir:
    izmir
    Selamlar meteor.gov.tr alt yapısını değiştirmiş hava durumu için verilen örnekler çalışmıyor. Şimdi napılması gerektiğine yardımcı olabilirmisiniz.
     
  19. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    Sımdı pek bısey yapılamaz sanırım.. Cunku verıler artık resım olarak verılıyor.. Tabı bırı cıkıp php'nın grafık kutuphanesı ıle bı tur font finder yazmassa..

    Yada verıler ıcın artık yenı bı kaynak bulmalı.. Ornegın su adres gıbı.. http://turkish.wunderground.com/global/stations/17112.html
     
  20. Mingitau

    Mingitau Misafir