<?php
session_start(); // Session'ı başlat
// GET isteği üzerinden kur parametresini al
if (!empty($_GET["kur"])) {
$_SESSION["kur"] = $_GET["kur"];
}
// Varsayılan kur belirleme
if (!isset($_SESSION["kur"]) || empty($_SESSION["kur"])) {
$_SESSION["kur"] = "TRY";
}
function Altinkaynak($deger) {
try {
// SOAP istemcisini oluştur
$client = new SoapClient('http://data.altinkaynak.com/DataService.asmx?WSDL', array('connection_timeout' => 5));
$auth = new stdClass();
$auth->Username = 'AltinkaynakWebServis';
$auth->Password = 'AltinkaynakWebServis';
$header = new SoapHeader('http://data.altinkaynak.com/', 'AuthHeader', $auth, false);
$client->__setSoapHeaders($header);
// Altın kurlarını al
$response = $client->GetCurrency();
$xml = simplexml_load_string($response->GetCurrencyResult);
// Euro değerini döndür
return $xml->Kur[$deger]->Satis;
} catch (Exception $e) {
// SOAP hatası oluştuğunda
// Hata iletisi: echo "Soap Hatasi Olustu: " . $e->getMessage();
return null; // Hata durumunu işlemek için null döndür
}
}
function CanliDoviz($deger) {
try {
// CanliDoviz API'sinden JSON verisini al
$jsonVeri = file_get_contents("https://canlidoviz.com/doviz-kurlari.jsonld", true);
$veri = json_decode($jsonVeri, true);
// Döviz verisini döndür
return $veri["mainEntity"]["itemListElement"][$deger]["currentExchangeRate"]["price"];
} catch (Exception $e) {
// Hata durumunda
return null; // Hata durumunu işlemek için null döndür
}
}
function TCMBDoviz($deger, $alis = null) {
try {
// TCMB'den XML verisini al
$veri = simplexml_load_file('http://www.tcmb.gov.tr/kurlar/today.xml');
// Kur bilgilerini al
$forexSatis = $veri->Currency[$deger]->ForexSelling;
$bankaSatis = $veri->Currency[$deger]->BanknoteSelling;
// Değerleri döndür
if ($alis === "satis") {
return $forexSatis;
} elseif ($alis === "alis") {
return $bankaSatis;
}
} catch (Exception $e) {
// Hata durumunda
return null; // Hata durumunu işlemek için null döndür
}
}
function TruncGil($key, $alis) {
try {
// Truncgil API'sinden JSON verisini al
$jsonVeri = file_get_contents("https://finans.truncgil.com/today.json", true);
$veri = json_decode($jsonVeri, true);
// Döviz değerini döndür
$birim = ['USD' => 'ABD DOLARI', 'EUR' => 'EURO'];
return $veri[$birim[$key]][$alis];
} catch (Exception $e) {
// Hata durumunda
return null; // Hata durumunu işlemek için null döndür
}
}
// Veriyi güncellemek için cooldown süresini kontrol et
if (time() > $_SESSION['doviz_cooldown']) {
unset($_SESSION['dolar']);
unset($_SESSION['euro']);
unset($_SESSION['doviz_cooldown']);
// Döviz değerlerini al
if ($dolar = CanliDoviz(0)) {
$_SESSION['dolar'] = round($dolar, 2);
} elseif ($dolar = Altinkaynak(0)) {
$_SESSION['dolar'] = round($dolar, 2);
} elseif ($dolar = TCMBDoviz(0)) {
$_SESSION['dolar'] = round($dolar, 2);
} elseif ($dolar = TruncGil("USD", "Alış")) {
$_SESSION['dolar'] = round($dolar, 2);
}
if ($euro = CanliDoviz(1)) {
$_SESSION['euro'] = round($euro, 2);
} elseif ($euro = Altinkaynak(1)) {
$_SESSION['euro'] = round($euro, 2);
} elseif ($euro = TCMBDoviz(3)) {
$_SESSION['euro'] = round($euro, 2);
} elseif ($euro = TruncGil("EUR", "Alış")) {
$_SESSION['euro'] = round($euro, 2);
}
// Veri güncelleme cooldown süresini ayarla
$_SESSION['doviz_cooldown'] = time() + 900; // 900 saniye (15 dakika)
} else {
// Cooldown süresi geçmemişse, önbellekten verileri al
$dolar = $_SESSION['dolar'];
$euro = $_SESSION['euro'];
}
function kur($value, $value2) {
if ($value2 == "EUR") {
return $value . " EUR";
} elseif ($value2 == "USD") {
return "$" . $value;
} elseif ($value2 == "TRY") {
return $value . " TL";
}
}iyi forumlar.
Halen daha 500 hatası alırsanız PM İletin, yardımcı olayım.