Kayıtlı kullanıcı Offline
|
Yazılar: 1
Katılım tarihi: Mar 2008
|
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.
<?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);
?>
|