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
Ce tag adauga imagine in pagina web?
<div> <img> <span>
<img src="http://coursesweb.net/imgs/webcourses.gif" width="191" height="63" alt="Courses-Web" />
Care din aceste coduri CSS afiseaza textul inclinat?
font-style: italic; text-decoration: underline; font-weight: 500;
#id {
  font-style: italic;
}
Clic pe functia jQuery care ascunde animat un element HTML.
click() hide() show()
$(document).ready(function() {
  $(".a_class").click(function(){ $(this).hide("slow"); });
});
Clic pe functia definita corect in PHP.
fname function() {} function fname() {} function $fname() {};
function fname($a, $b) {
  echo $a * $b;
}
Indicati forma pentru Prezent Perfect Continuu a verbului "to walk" (a merge).
have walked have been walking be walking
I have been walking for 5 hours.
- Merg pe jos de 5 ore.
Indicati Trecutul Nedefinit pentru verbul "ser" (a fi) la forma Yo.
será sería fui
Yo fui entrenador.
- Am fost antrenor.
Script PHP - curs valutar

Last accessed pages

  1. Data si Ora in engleza - Date and Time (10681)
  2. Curs si Tutoriale Ajax (15332)
  3. Genul substantivelor 1 (4262)
  4. Gramatica limbii spaniole. Indrumator si prezentare generala (29387)
  5. Numerale, Numere in limba engleza - Numerals (28408)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (6766)
  2. Curs HTML gratuit Tutoriale HTML5 (5547)
  3. Curs si Tutoriale JavaScript (4549)
  4. Curs CSS Online Tutoriale CSS3 (4355)
  5. Curs PHP MySQL, Tutoriale si Scripturi PHP (4148)