Blog Kategorileri

Son Eklenen Konular

php tcmb döviz kurları
Resim

tcmb.gov.tr den döviz kurları almak için kullanılabilir 2 fonksiyon ile oluşan bir işlem bütünü. 1 function geturl bu metodu yazarken biraz esnek tuuttum belki başka işlemleriniz içinde kullanabileceğinizi düşündüğüm için post ile ver gönderimide ilave ettim. Döviz işlemi için gerekli değil. 2 function ise DovizKuruAl metodu aslında bizi bağlayan ve kullanacağımız metod bu kendi içerisinde geturl metodunu çağırıyor isteyenler iki metodu birleştirip tek metod yapabilir.

php

function getUrl($url, $method='', $vars='') {
            $ch = curl_init();
            //$header[] = "REMOTE_ADDR: 173.194.70.100"; //google ip adresi
            //$header[] = "HTTP_X_FORWARDED_FOR: 173.194.70.100"; //google ip adresi
            $header[] = "ACCEPT: ".$_SERVER['HTTP_ACCEPT'];

            if ($method == 'post') {
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
            }
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
            curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
            curl_setopt($ch, CURLOPT_REFERER, $url);
            curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
            curl_setopt($ch, CURLOPT_AUTOREFERER, true);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,1);
            curl_setopt($ch, CURLOPT_SSLVERSION, 3);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
            curl_setopt($ch, CURLOPT_TIMEOUT, 120);
            //curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIE);
            //curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIE);
            $buffer = curl_exec($ch);
            curl_close($ch);
            return $buffer;
        }


        /**
         * usd ve euro tl bilgileri tcmb.gov.tr
         * @param string $CekilenKurlar
         * @return array
         */
        function DovizKuruAl($CekilenKurlar='USD,EUR') {
            
            $istenenler = explode(',',$CekilenKurlar);
            $return = array();

            $XMLBugun = getUrl("http://www.tcmb.gov.tr/kurlar/today.xml");
            $BugunkuKurlar = simplexml_load_string($XMLBugun);
            $tmp = get_object_vars($BugunkuKurlar);
            $Currency = $tmp['Currency'];
            if(is_array($Currency)){
                    foreach($Currency as $c){
                        $b = get_object_vars($c);
                        $b = array_values($b);
                        if(!in_array($b[0]['CurrencyCode'],$istenenler)){
                            continue;
                        }
                        $return[$b[0]['CurrencyCode']] = array("durum"=>$b[1],"Alis"=>$b[4],"Satis"=>$b[5]);
                    }
                }
            return $return;
        }

Döviz kurlarını almak için

php

$kurlar = $this->DovizKuruAl();
print_r($kurlar);

çıkti olarak

Array
(
    [USD] => Array
        (
            [durum] => 1
            [Alis] => 2.2358
            [Satis] => 2.2398
        )

    [EUR] => Array
        (
            [durum] => 1
            [Alis] => 2.7618
            [Satis] => 2.7668
        )

)

comments powered by Disqus