Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
671
Tıklama
0
Öne Çıkarma
PHP Döviz Kurları
E
11 yıl
Er
Konu Sahibi

Arkadaşlar lütfen yardım edin.
www.muyas.com web sitem. 3 aydır bu web sitesi ile uğraşıyorum. biçok düzenleme yaptım ama bazı takıldığım yerler var.

anasayfanın sol alt kısmında döviz kurları ve çevirici çalışmıyor.

dovizler.php nin kodlarını veriyorum... Anlayan birisi sitenin görselini bozmadan, sadece verileri çekebilecek şekilde düzeltebilirse çok makbule geçecek

<?php

header('Content-Type: text/html; charset=latin5');

if(!is_numeric($_GET['from'])) die("Bir hata meydana geldi!");
else $from = $_GET['from'];

if(!is_numeric($_GET['to'])) die("Bir hata meydana geldi!");
else $to = $_GET['to'];

$deger = $_GET['deger'];
if(empty($deger)) die("Tutar giriniz!");
$deger = str_replace(',','.',$deger);

$degerler = explode(".",$deger);
foreach($degerler as $boluk)
{
if(!is_numeric($boluk)) die("Bir hata meydana geldi!");
}

$adres = "http://www.tcmb.gov.tr/wps/wcm/connect/tcmb+tr/tcmb+tr/main+page+site+area/bugun.php";
$kaynak = file_get_contents($adres);

$kurlar = '#<td class=\"degerler\" >(.*?)</td>#si';
preg_match_all($kurlar,$kaynak,$sonkur);

$dolar = $sonkur[1][1];
$euro = $sonkur[1][3];

// TL:1 - DOLAR:2 - EURO:3

if($to == 1) $currency = "TL";
else if($to == 2) $currency = "Dolar";
else $currency = "Euro";

if($from == 1)
{
if($to == 2)
{
echo round($deger/$dolar,2)." ".$currency;
}
else if($to ==3)
{
echo round($deger/$euro,2)." ".$currency;
}
else echo round($deger,2)." ".$currency;
}
else if($from == 2)
{
if($to == 1)
{
echo round($deger*$dolar,2)." ".$currency;
}
else if($to ==3)
{
echo round($deger*$dolar/$euro,2)." ".$currency;
}
else echo round($deger,2)." ".$currency;
}
else if($from == 3)
{
if($to == 1)
{
echo round($deger*$euro,2)." ".$currency;
}
else if($to ==2)
{
echo round($deger*$euro/$dolar,2)." ".$currency;
}
else echo round($deger,2)." ".$currency;
}
else echo round($deger,2)." ".$currency;

?>





< Bu mesaj bu kişi tarafından değiştirildi El-Turko -- 8 Kasım 2014; 21:44:57 >

D
11 yıl
Yarbay

bu şekilde alamazsın, xml feed olarak veriyor tcmb döviz kurlarını, onu parse etmen gerekir, sende saçma sapan bir adresten birşeyler çekmeyi deniyor


Bu mesaja 1 cevap geldi.
B
11 yıl
Yüzbaşı

curl() ile, yani
cURLdownload("http://www.tcmb.gov.tr/kurlar/today.html",'doviz.txt')
ile cronjob'a ekleyerek verileri cek, daha sonra

$row = 1;

if (($handle = fopen('doviz.txt', 'r')) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
$num = count($data);
$row++;
for ($c=0; $c < $num; $c++) {
if($row==13) {

$pieces1 = explode(" ", $data[$c]);

$usd1 = $pieces1[5];
$usd2 = $pieces1[6];


}
if($row==16) {

$pieces2 = explode(" ", $data[$c]);
$euro1 = $pieces2[5];
$euro2 = $pieces2[6];


}
if($row==17) {

$pieces3 = explode(" ", $data[$c]);
$gbp1 = $pieces3[4];
$gbp2 = $pieces3[5];


}
if($row==18) {

$pieces4 = explode(" ", $data[$c]);
$chf1 = $pieces4[4];
$chf2 = $pieces4[5];


}


}
}
fclose($handle);
}

$chf2euro = $chf2 / $euro2;
$chf2euro = number_format($chf2euro, '4', '.', ',');


kodlarindan olusan salt php sayfasini, kullanacagin sayfaya import et,
alis/satis fiyatlariyla birlikte istedigin yerde echo yap.


EDIT : sayfa yapisini degistirmisler;http://www.tcmb.gov.tr/kurlar/today.xml
today.html yerine bu adresi kullanip, ayni mantikla datayi cekebilirsin. XML'e hakimsen, coding ile cok ugrasmadan labellardan veriyi alabilirsin.





< Bu mesaj bu kişi tarafından değiştirildi BuilderX -- 10 Kasım 2014; 3:45:48 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.