Php, Xml Olarak Kurlar
-
<?php header('Content-Type: text/html; charset=utf-8'); function kuryazdir($kur){ $kurlar = simplexml_load_file('http://www.tcmb.gov.tr/kurlar/today.xml'); foreach($kurlar->Currency as $Currency){ $currency_data = array($Currency['CurrencyCode'],$Currency->ForexSelling); } echo "var: ". var_dump($currency_data) ; } kuryazdir("EUR"); ?>fonksiyonun kuryazdir("EUR") yada kuryazdir("TRY") dediğimde direk forexselling fiyatını yazdırmasını istiyorum array da bi yanlışlık yaptım. Gözlerim ağırdı bir şeyi göremiyorum bakabilecek olan?
PLaXToR tarafından 28/Tem/16 09:08 tarihinde düzenlenmiştir -
as Currency dediğin object mi array mi ?
bi currency' yi array gibi currencycode demişsin, bir de obje gibi forexselling ini çağırmışsın :/
pek birşey anlaşılmıyor koddan da ekrana ne yazıyor ?
var_dump(kurlar) diyince ekrana ne yazıyor, falan biraz birşeyler paylaşsan hocam
-
Hocam valla hasta olduğum için kodlarını pek incelemedim ama benim daha önce kendim için yazdığım kodları paylaşayım sen kendine göre uyarlarsın..
include 'simple_html_dom.php'; error_reporting(1); if($_GET['tur'] == "euro") { $tur = 'Currency[Kod="EUR"] ForexBuying'; } elseif ($_GET['tur'] == "dolar") { $tur = 'Currency[Kod="USD"] ForexBuying'; } else { echo "hata"; exit; } $kodal = file_get_html("http://www.tcmb.gov.tr/kurlar/today.xml"); foreach($kodal->find($tur) as $yenideger) { echo $yenideger->plaintext; } -
@plaxtor hocam koda bakıyorumda.
ilk gözüme çarpan şey fonksiyonun $kur adlı değişkeni.
onu hiç bir yerde kullanmamışsın.
muhtemelen bu satırda kullancaktın.
$currency_data=array($Currency['CurrencyCode'],$Currency->ForexSelling);ama nerden kopyaladıysan değiştirme gereği duymamışsın.
$Currency[$kur] yazıp denermisin. -
bir şeyler deniyeyim dedim. bende de "document is empty" uyarısı veriyor. user agent falan da denedim olmadı. sizde nasıl çalışıyor kod?
edit: github'da farklı türleri için bir dünya örnek var.
lepusmorris tarafından 28/Tem/16 13:57 tarihinde düzenlenmiştir -
DuPi bunu yazdı
@plaxtor hocam koda bakıyorumda.
ilk gözüme çarpan şey fonksiyonun $kur adlı değişkeni.
onu hiç bir yerde kullanmamışsın.
muhtemelen bu satırda kullancaktın.
$currency_data=array($Currency['CurrencyCode'],$Currency->ForexSelling);ama nerden kopyaladıysan değiştirme gereği duymamışsın.
$Currency[$kur] yazıp denermisin.Selam hocam nasılsın, yok bi yerden kopyalamadım sabaha kadar çalıştıktan sonra şunu da ekleyim dediğim noktada yazdım ardından beyin off moda geçti.
$kur değişkenini currecycode olarak değiştirmeyi unutmuşum ve haklısın dediğin satırda kullanacaktım.
Şimdi kontrol edicem birazdan baştan.
Öte yandan kuryazdır fonksiyonunda direk kurun belirttiğim (forexselling mesela) değerini return yapmak istiyorum sadece..
Curl ile XML olarak çektim content değişkeni echo yaptığımda yada print_R da boş geliyor. Curl ile XML olarak çekebilen var mı?
Mesela şu yazdığım kodda bi işe yaramadı:
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'http://www.tcmb.gov.tr/kurlar/today.xml'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($curl, CURLOPT_TIMEOUT, 30); $content = curl_exec($curl); curl_close($curl); echo $content;
PLaXToR tarafından 28/Tem/16 22:47 tarihinde düzenlenmiştir -
<?php set_time_limit(0); $xml = simplexml_load_file("http://www.tcmb.gov.tr/kurlar/today.xml"); foreach($xml->Currency as $kur): echo $kur->attributes()->Kod.": ".$kur->ForexSelling."<br />"; endforeach; ?>Çıktı:
USD: 3.0221
AUD: 2.2826
DKK: 0.45135
EUR: 3.3528
GBP: 3.99
CHF: 3.0781
SEK: 0.35297
CAD: 2.3024
KWD: 10.0495
NOK: 0.35596
SAR: 0.80583
JPY: 2.8928
BGN: 1.7238
RON: 0.75593
RUB: 0.04587
IRR: 0.00982
CNY: 0.45642
PKR: 0.02898
XDR: -
Bütün kurları dökmek yerine
function kuryazdir($kur){
}
olarak kuryazdir(EUR) gibi yapabilir misin?
PLaXToR tarafından 28/Tem/16 23:55 tarihinde düzenlenmiştir -
PLaXToR bunu yazdı
Bütün kurları dökmek yerine
function kuryazdir($kur){
}
olarak kuryazdir(EUR) gibi yapabilir misin?
yapamam
-
Tamamdır hallettim.. İhtiyacı olan kullanabilir. Herkese teşekkürler...
<?php function kuryazdir($kur){ $kurlar = simplexml_load_file('http://www.tcmb.gov.tr/kurlar/today.xml'); foreach($kurlar->Currency as $kurun){ if ( $kurun->attributes()->Kod == $kur ) { return $kurun->ForexSelling; } } } echo "<br> TRY: ".kuryazdir("TRY"); echo "<br> USD: ".kuryazdir("USD"); echo "<br> EUR: ".kuryazdir("EUR"); ?>
PLaXToR tarafından 29/Tem/16 05:08 tarihinde düzenlenmiştir
