Aşağıdaki kodu sitenize ekleyin hug1
[code] <? 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($satir, 0, 3); if (($code == $bakilacak) && ($geldi == false)) { $geldi = true; $sonuc = split("[[:space:]]+" , $satir); $doviz[1] = substr($sonuc[4], 0, 9); $doviz[2] = substr($sonuc[5], 0, 9); $doviz[3] = substr($sonuc[6], 0, 9); $doviz[4] = substr($sonuc[7], 0, 9); }
} // 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> [/code]
Aşağıdaki script döviz kurlarını siteden günde sadece 1 kere ve tek bağlantı ile çekiyor. Örnek olarak çok farklı dosyalara, tablolara ve ekrana basabiliyor. İsterseniz belirtilen variablelari kullanarak veritabanına da kayıt yaptırabilirsiniz.
[code]<?php /************************************************************************************/ /****** Gunde Bir Defa Olmak Uzere tcmb.gov.tr ye Baglanacak, Kurlari Bir Dosyaya ***/ /****** (today.xml) yazacak, Islemleri Oradan Yapacak ***/ /************************************************************************************/
$gun = date('d'); $ay = date('m'); $yil = date('y'); $saat=date('G'); $dakika=date('i'); $bugun = mktime(0,0,0,$ay,$gun,$yil,0); echo $gun." ".$ay." ".$yil." ".$saat." ".$dakika."<br>"; if(file_exists("day.txt")) { $f=fopen("day.txt","r"); $gecmisgun = trim(fgets($f, 1024)); $gecmisay = trim(fgets($f, 1024)); $gecmisyil = trim(fgets($f, 1024)); fclose($f); $dun = mktime(0,0,0,$gecmisay,$gecmisgun,$gecmisyil); if($bugun > $dun && (($saat >= 16 && $dakika >= 30) || $saat >= 17)) { copy("http://www.tcmb.gov.tr/kurlar/today.xml","today.xml"); $f=fopen("day.txt","w"); fwrite($f, date("d\nm\ny")); fclose($f); } } else { copy("http://www.tcmb.gov.tr/kurlar/today.xml","today.xml"); $f=fopen("day.txt","w"); fwrite($f, date("d\nm\ny", time()-86400)); fclose($f); }
/************************************************************************************/ /****** today.xml Dosyasi Icerisinde Bulunan Kur Kodlari ****************************/ /************************************************************************************/
$kurkodlari = array( "USD" => "AMERIKAN DOLARI", "CAD" => "KANADA DOLARI", "DKK" => "DANIMARKA KRONU", "SEK" => "ISVEÇ KRONU", "CHF" => "ISVIÇRE FRANGI", "NOK" => "NORVEÇ KRONU", "JPY" => "JAPON YENI", "SAR" => "SUUDI ARAB. RIYALI", "KWD" => "KUVEYT DINARI", "AUD" => "AV. DOLARI", "EUR" => "EURO", "GBP" => "STERLIN", "RON" => "YENI RUMEN LEYI", "IRR" => "IRAN RIYALI", "SYP" => "SURIYE LIRASI", "JOD" => "ÜRDÜN DINARI", "BGL" => "BULGAR LEVASI", "ILS" => "ISRAIL SEKELI", );
/************************************************************************************/ /****** today.xml Dosyasi Icerisinde Bulunan Xml Tagleri ****************************/ /************************************************************************************/
$xmlalanlari = array( "Unit" => "Birim", "Isim" => "Isim", "ForexBuying" => "DovizAlis", "ForexSelling" => "DovizSatis", "BanknoteBuying" => "EfektifAlis", "BanknoteSelling" => "EfektifSatis", );
/************************************************************************************/ /****** today.xml Dosyasini Cekiyor ve $kurdosyasi Parametresine Esitliyoruz ********/ /************************************************************************************/ $kurdosyasi = file_get_contents("today.xml");
/************************************************************************************/ /****** Burada Ilgili Kurlarin Aciklanis Tarihlerini Aliyoruz ***********************/ /************************************************************************************/ preg_match("'<Tarih_Date Tarih=\"(.*)\" Date=\"(.*)\">'Uis",$kurdosyasi,$tarih); $tarih = date("d-m-y",strtotime($tarih[2]));
/************************************************************************************/ /****** Burada $xmlalanlari Adli Degiskeni Tarayip, Kurlari $kurlar Adli Bir ********/ /****** Arrayde Topluyoruz **********************************************************/ /************************************************************************************/
foreach($kurkodlari as $kod => $dummy){ foreach($xmlalanlari as $alanadi => $alanaditurkce){ preg_match("'<Currency Kod=\"(".$kod.")\".*><".$alanadi.">(.*)</".$alanadi.">(.*)</Currency>'Uis",$kurdosyasi,$deger); $kurlar[$kod][$alanaditurkce] = $deger[2]; } }
/************************************************************************************/ /******************************* ORNEKLER *******************************************/ /************************************************************************************/
/************************************************************************************/ /****** Ornek Teskil Etmesi Acisindan Degerleri Ekrana Bastiriyoruz *****************/ /****** Istediginiz Kura (or: Dolar Alis Kuru) $kurlar['USD']['DovizAlis'] **********/ /****** Seklinde Ulasabilirsiniz ****************************************************/ /************************************************************************************/
echo $tarih." TARIHLI DOVIZ KURLARI"."<br>"; foreach($kurkodlari as $kod => $dummy){ echo "----------------------------".$kurlar[$kod]['Birim']." ".$kurlar[$kod]['Isim']." ----------------------------"."<br>"; echo "Doviz Alis: ".$kurlar[$kod]['DovizAlis']."<br>"; echo "Doviz Satis: ".$kurlar[$kod]['DovizSatis']."<br>"; echo "Efektif Doviz Alis: ".$kurlar[$kod]['EfektifAlis']."<br>"; echo "Efektif Doviz Satis: ".$kurlar[$kod]['EfektifSatis']."<br>"; }
/************************************************************************************/ /****** Ornek Teskil Etmesi Acisindan Iki Tane Dosyaya Kurlar Tarihli ve ************/ /****** Kur Ismini Tasiyacak Sekilde Yazilmistir (or: 14-02-2008-USD.txt) ***********/ /************************************************************************************/ $f=fopen($tarih."-USD.txt","w"); fwrite($f,$kurlar['USD']['DovizAlis']." "); fwrite($f,$kurlar['USD']['DovizSatis']); fclose($f);
$f=fopen($tarih."-EUR.txt","w"); fwrite($f,$kurlar['EUR']['DovizAlis']." "); fwrite($f,$kurlar['EUR']['DovizSatis']); fclose($f);
/************************************************************************************/ /****** Ornek Teskil Etmesi Acisindan Dolar ve Euro Kurlari Tablo *******************/ /****** Haline Getirilip kurlar.html Seklinde Yazilmistir ***************************/ /************************************************************************************/
$f=fopen("kurlar.html","w"); $table = "<table border=\"1\">"; $table = $table . "<tr><td align=\"center\" colspan=\"2\">Kurlar</td></tr>"; $table = $table . "<tr><td colspan=\"2\">USD</td></tr>"; $table = $table . "<tr><td>Alis</td><td>".$kurlar['USD']['DovizAlis']."</td></tr>"; $table = $table . "<tr><td>Satis</td><td>".$kurlar['USD']['DovizSatis']."</td></tr>";
$table = $table . "<tr><td colspan=\"2\">EUR</td></tr>"; $table = $table . "<tr><td>Alis</td><td>".$kurlar['EUR']['DovizAlis']."</td></tr>"; $table = $table . "<tr><td>Satis</td><td>".$kurlar['EUR']['DovizSatis']."</td></tr>"; $table = $table . "</table>";
fwrite($f,$table); fclose($f);
?> [/code]
|