Cu acest script puteti sa adaugati in site-ul dv. cursul valutar BNR din ziua curenta (Dolari, Euro, Lire Sterline, Aur).
Cursul este preluat direct de pe site-ul BNR, dintr-un fisier .xml oferit de ei, apoi salvat intr-un fisier cache pe serverul dv. Afisarea proprizisa se face cu datele preluate din fisierul cache, acesta fiind actualizat de acelasi script o singura data la 2 ore, pentru a nu fi considerat spam.
Mai jos, sub exemplu gasiti codul PHP, sau il puteti descarca impreuna cu instructiunile de la link-ul Download (sus-dreapta).


O versiune noua a scriptului php pentru curs valutar de la BNR, care afiseaza si variatia de curs fata de ziua precedenta, e la pagina: marplo.net/php-mysql/curs_valutar_conversii


Afiseaza curs valutar

Cod PHP Curs valutar

<?php 
// De la marplo.net (02-02-2010)

// Locatia fisierului de la BNR si numele celui pt. cache
$f_bnr = "http://www.bnro.ro/nbrfxrates.xml";
$f_cache = "valutarbnr.xml";

// Matricea cu valutele ce vor fi afisate, si denumirea de afisare
$valuta = array(array("USD",'Dolari'), array("EUR",'Euro'), array("GBP",'Lire S'), array("XAU",'Aur (g)'));

$curs_v = array();			// Variabila ce va contine cursul pt. afisare
$today = date("d-m-Y");		// data zilei

// Functia care returneaza continutul unnei pagini
// Incearca sa-l preia prin curl sau file_get_context
function get_pag($fileurl) {
 // Creaza o matrice ce stocheaza mai multe tipuri de agenti (browsere)
 $agents[] = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; Media Center PC 5.0)";
 $agents[] = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)";
 $agents[] = "Opera/9.63 (Windows NT 6.0; U; ru) Presto/2.1.1";

 // Daca poate initializa resursa curl
 if ($ch = curl_init()) {
 curl_setopt($ch, CURLOPT_URL, $fileurl);		// Apeleaza adresa URL specificata
 
 // Trimite header-ele necesare
 curl_setopt($ch, CURLOPT_HEADER, false);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
 curl_setopt($ch, CURLOPT_USERAGENT, array_rand($agents, 1));		// Cu agent ales random

 $data = curl_exec($ch);		// Preia continutul returnat intrun sir
 curl_close($ch);		// Inchide resursa curl

	return $data;
 }
 else if ($data = file_get_contents($fileurl)) return $data;
 else return false;
}

// Daca fisierul de cache e prea vechi se regenereaza
if ( (!file_exists($f_cache)) || (filesize($f_cache) == 0) || (time()-filemtime($f_cache) > 7200) ) {
 // Daca poate accesa fisierul extern
	if ($stuff = get_pag($f_bnr)) {
 $fh = fopen($f_cache,"w");
	 fputs($fh, $stuff);
 fclose($fh);
	}
}

// se genereaza inceputul codului tabelului HTML, cu data curenta
 $rezult = '<table align="center" border="0" cellspacing="0" cellpadding="5" width="175" style="font-family: Verdana, Arial, sans-serif; font-size: 12px; background-color:#f8f8fe;">
 <tr><td bgcolor="#11fefe"><div align="center"><font size="3" color="blue"><b>Curs valutar</b></font> (<i>BNR</i>)<br />
 <strong>- '.$today.' -</strong> 
 </div></td></tr>
 <tr><td align="center" valign="top"> 
 <table border="0" cellspacing="5" cellpadding="0" style="font-family: Verdana, Arial, sans-serif; font-size: 12px; background-color:#f8f8fe;">'; 

// Aici se incearca deschiderea fisierului de la bnr 
if ($cursvalutar = file_get_contents($f_cache)) {
 // Se parcurge matricea cu $valuta si se stabileste tiparul de cautare
 for($i=0; $i<count($valuta); $i++) {
 $tipar = '/<Rate currency="'.$valuta[$i][0].'">([0-9.,]+)<\/Rate>/';

 // se cauta cursul in fisierul preluat de la bnr sirul care se potriveste tiparului
	// extrage valoarea numerica
	if (preg_match($tipar, $cursvalutar, $out)) {
	 $curs_v[] = array($valuta[$i][1], $out[1]);
	}
 }

 // adauga cursul in variabila ce contine codul HTML
 if (count($curs_v)>=1) {
 for($i=0; $i<count($curs_v); $i++) $rezult .= '<tr><td><b>'.$curs_v[$i][0].'</b></td><td>'.$curs_v[$i][1].'</td><td>Lei</td></tr>';
 }
 else $rezult .= '<tr><td>Nu a fost gasit nici un curs</td></tr>';
}
else { 
 $rezult .= "<tr><td>Fisierul pentru citirea cursului nu a putut fi accesat.</td></tr>";
}

// Inchide codul HTML al tabelului
$rezult .= '</table></td></tr>
<tr><td valign"top"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="https://marplo.net" target="_blank" style="color:#e8e8fe; font-size:8px;">Cursuri Jocuri Anime</a></td></tr></table>';

echo $rezult;			// Afiseaza codul HTML rezultat
?>

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag adauga rand nou in paragraf?
<b> <br> <p>
Prima linie ...<br>
Alta linie...
Ce proprietate CSS seteaza spatiu dintre litere?
text-size word-spacing letter-spacing
#id {
  letter-spacing: 2px;
}
Ce functie obtine accesul la un element HTML cu un anumit ID?
getElementById() getElementsByTagName() createElement()
var elm = document.getElementById("theID");
var content = elm.innerHTML;
alert(content);
Clic pe instructiunea "echo" utilizata corect.
echo "CoursesWeb.net" echo "CoursesWeb.net"; echo ""CoursesWeb.net";
echo "Adresa URL: http://CoursesWeb.net";
Care din urmatoarele expresii cu "paint" (a picta) se foloseste pentru forma Negativa?
will paint not paint have painted
She does not paint that landscape.
- Ea nu picteaza acel peisaj.
Care din urmatoarele expresii cu "cantar" (a canta) se foloseste pentru propozitie Negativa?
ir a cantar cantaba no cantar
Ella no canta esa canciĆ³n.
- Ea nu canta acel cantec.
Script PHP - curs valutar

Last accessed pages

  1. Viitor perfect si Viitorul perfect continuu - Future perfect and Continuous (8991)
  2. Trecutul simplu si continuu - Past Tense Simple and Continuous (32036)
  3. Functii pentru Data si Timp (256)
  4. Instructiuni conditionale if else (574)
  5. PHP MySQL - UPDATE (281)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (3020)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1010)
  3. Gramatica limbii spaniole. Indrumator si prezentare generala (834)
  4. Alphabet and Pronunciation - Alfabetul si pronuntia in limba engleza (726)
  5. Prezentul simplu si continuu - Present Tense Simple and Continuous (672)