Re: [Linux-programlama] Php de döviz bilgileri

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Hakan POLATKAN (hakan@soulmaster.org)
Date: Tue 15 Feb 2005 - 12:35:39 EET


Merhaba,
asagidaki kod ile dilediginiz para birimini alabilirsiniz. Alis, satis,
efektif alis ve efektif satis degerlerini verir. Kod farkli birseyler
dusunerek yazilirken vazgecildi ve bircok yeri kirpildi. Daginikligindan
oturu kusura bakmayin.

uygulama webdoviz.txt dosyasi olusturuyor. Surekli Merkez Bankasi sunucusuna
baglanmak yerine 12 saatte 1 kere dosyanin guncellenmesini sagliyor. Siz
sureyi kafaniza gore degistirin. webdoviz.txt dosyasinin olusturulabilmesi
icin dizinin izin haklarini kontrol etmeyi unutmayin.

dosyayi doviz.php gibi bir isimle kaydedin ve uygulamanizda include edin.

echo $USD_esatis;

gibi bir satir ile efektif satis degerini yazdirabilirsiniz.

Hoscakalin,

Saygilarimla,
Hakan POLATKAN

--

<?php // doviz.php

/*

Uygulama icerisinde echo $USD_alis; // seklinde kullanilir. echo $USD_satis; echo $USD_ealis; echo $USD_esatis; */ # goruntulemek istedigimiz para birimleri $aranan[0] = "TRY/USD"; $aranan[1] = "TRY/EUR"; $aranan[2] = "TRY/GBP"; $aranan[3] = "TRY/AUD";

function olustur($aranan) { $adres = "http://www.tcmb.gov.tr/kurlar/today.html"; $bilgi = @file($adres); $satir = count($bilgi); $aranansayisi = count($aranan); for($x=0;$x<$satir;$x++) { for($xx=0;$xx<$aranansayisi;$xx++) { $temp = strstr($bilgi[$x], $aranan[$xx]); if ($temp != FALSE) $paralar[] = $temp; } } $bilgi = $paralar;

$satir = count($bilgi); // dosyaya yazmak icin zamani al $zaman = time(); $dosya = fopen("webdoviz.txt", "w"); if (!$dosya) { echo "HATA : webdoviz.txt dosyasi olusturulamiyor."; die(); } fwrite($dosya, "zaman = ".$zaman."\n");

for($sayac1=0;$sayac1<$satir;$sayac1++) { if (strlen($bilgi[$sayac1])<3) continue; $dizi = explode(" ", $bilgi[$sayac1]); $satirsayisi = count($dizi); $sayac = 0; for($x=0;$x<$satirsayisi;$x++) { if (strlen($dizi[$x]) > 1) { $yeni_dizi[$sayac] = $dizi[$x]; //echo $yeni_dizi[$sayac]." - ".$sayac."<br>"; $sayac++; } // if end } // for end $degisken = substr($yeni_dizi[0], 4, 6); $satir3 = count($yeni_dizi); $efektif_satis = $degisken."_esatis"; $efektif_alis = $degisken."_ealis"; $satis = $degisken."_satis"; $alis = $degisken."_alis"; $$efektif_satis = $yeni_dizi[$satir3-1]; $$efektif_alis = $yeni_dizi[$satir3-2]; $$satis = $yeni_dizi[$satir3-3]; $$alis = $yeni_dizi[$satir3-4]; //echo $efektif_satis." : ".$$efektif_satis."<br>"; fwrite($dosya, "$efektif_satis = ".$$efektif_satis); fwrite($dosya, "$efektif_alis = ".$$efektif_alis."\n"); fwrite($dosya, "$satis = ".$$satis."\n"); fwrite($dosya, "$alis = ".$$alis."\n"); unset($yeni_dizi);

} fclose($dosya); } // olustur() sonu.

function oku() { $dosya = @fopen("webdoviz.txt", "r"); if (!$dosya) { echo "HATA : webdoviz.txt dosyasi okunamiyor."; die(); } while(!feof($dosya)) $bilgi[] = fgets($dosya, 32); return $bilgi; } $dosya = @fopen("webdoviz.txt", "r"); // dosya yoksa ya da acilamiyorsa yenisini olustur if (!$dosya) { olustur($aranan); } else { $ilk_satir = fgets($dosya, 32); $ilk_satir = explode("=", $ilk_satir); $zaman = trim($ilk_satir[1]); $simdiki_zaman = time(); $fark = ($simdiki_zaman - $zaman) / (60*60); // dosya 12 saatten eski ise yenisini olustur if ($fark>12) { fclose($dosya); olustur($aranan); } } $bilgi = oku(); for($x=0;$x<count($bilgi);$x++) { $satir = explode("=", $bilgi[$x]); $degisken = trim($satir[0]); $deger = trim($satir[1]); $$degisken = $deger; } ?>

webdoviz.txt ornegi :

zaman = 1108463570 USD_esatis = 1.3172 USD_ealis = 1.3080 USD_satis = 1.3152 USD_alis = 1.3089 AUD_esatis = 1.0410 AUD_ealis = 1.0234 AUD_satis = 1.0348 AUD_alis = 1.0281 EUR_esatis = 1.7085 EUR_ealis = 1.6965 EUR_satis = 1.7059 EUR_alis = 1.6977 GBP_esatis = 2.4826 GBP_ealis = 2.4643 GBP_satis = 2.4789 GBP_alis = 2.4660

Sal 15 Şub 2005 12:02 tarihinde, m.surucu@pusulayazilim.com şunları yazmıştı: > TCMB den döviz bilgileri bu kodla almaya çalışıyom. sitede ytl olarak > yayınlandığından sadece 1 yazıyor. bu nu ytl cinsinden nasıl > yazdırabilirim. > > > <?php > > $dovizbugun = @file("http://www.tcmb.gov.tr/kurlar/today.html"); > > if($dovizbugun) > { > $dovizbugun = implode("", $dovizbugun); > $dvzbugun = ereg_replace("\r", "", $dovizbugun); > > $Dolarkos = strpos($dovizbugun, "ABD DOLARI"); > $Eurokos = strpos($dovizbugun, "EURO"); > > > $dolarbugun = trim(substr($dovizbugun, $Dolarkos+14, 40)); > $eurobugun = trim(substr($dovizbugun, $Eurokos+20, 40)); > > while ( ereg( "[ ]{2,}", $dolarbugun)>0 ) > $dolarbugun = ereg_replace( "[ ]{2,}", " ", $dolarbugun ); > $eurobugun = ereg_replace( "[ ]{2,}", " ", $eurobugun ); > > // while ( strpos($dovizbugun, " ")>0 ) > // $dovizbugun = ereg_replace(" ", " ", $dovizbugun); > > $dolarbugun = explode( " ", $dolarbugun ); > $eurobugun = explode( " ", $eurobugun ); > > $Dolar = array ( number_format((double)ereg_replace( ",", "", > $dolarbugun[0] ), 0, ",", "."), number_format((double)ereg_replace( ",", > "", $dolarbugun[1] ), 0, ",", ".")); > $Euro = array ( number_format((double)ereg_replace( ",", "", $eurobugun[0] > ), 0, ",", "."), number_format((double)ereg_replace( ",", "", $eurobugun[1] > ), 0, ",", ".")); > > > $content = "<table border=\"0\" width=\"95%\" cellspacing=\"1\" > cellpadding=\"0\">"; > $content .= "<tr>"; > $content .= "<td width=\"40%\" >USD Alış</td>"; > $content .= "<td width=\"60%\" align=\"right\" ><b>$Dolar[0] TL</td>"; > $content .= "</tr>"; > $content .= "<tr>"; > $content .= "<td width=\"40%\">USD Satış</td>"; > $content .= "<td align=\"right\" ><b>$Dolar[1] TL</td>"; > $content .= "</tr>"; > $content .= "<tr>"; > $content .= "<td width=\"40%\" >EURO Alış</td>"; > $content .= "<td width=\"60%\" align=\"right\" ><b>$Euro[0] TL</td>"; > $content .= "</tr>"; > $content .= "<tr>"; > $content .= "<td width=\"40%\" >EURO Satış</td>"; > $content .= "<td align=\"right\" ><b>$Euro[1] TL</td>"; > $content .= "</tr>"; > $content .= "</table>"; > echo $content; > } > > else > { > > } > > ?> > > _______________________________________________ > Linux-programlama mailing list > Linux-programlama@liste.linux.org.tr > http://liste.linux.org.tr/mailman/listinfo/linux-programlama

-- Hakan POLATKAN --

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.