Curs Php-mysql

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 se foloseste pentru a crea o caseta de adaugare text?
<form> <input> <div>
<input type="text" name="a_name" value="val" />
Ce proprietate CSS se foloseste pentru a afisa textul cu majuscule-mici?
display font-variant font-style
h3 {
  font-variant: small-caps;
}
Ce instructiune afiseaza o fereastra cu un mesaj in ea?
for() Date() alert()
var msg = "Viziteaza CoursesWeb.net";
alert(msg);
Indicati codul PHP prin care se obtine IP-ul utilizatorului.
$_SERVER["HTTP_USER_AGENT"] $_SERVER["REMOTE_ADDR"] $_GET[]
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
Cum se traduce cuvantul "actually"?
actual de fapt acum
He actually came on time.
- De fapt, el a venit la timp.
Cum se traduce expresia: "Hace buen tiempo"?
Face timp E vreme frumoasa Drum bun
Hoy hace buen tiempo.
- Astazi e vreme frumoasa.
Script PHP - curs valutar

Last accessed pages

  1. Coduri pt culori (63380)
  2. Conditional IF in Limba Engleza - Fraze Conditionale (116484)
  3. Prefixele dis-, mis-, un-. The DIS, MIS and UN prefixes (11140)
  4. Pronume indirect (2032)
  5. Verbe modale - Modal verbs - CAN, COULD, MAY, MIGHT, MUST (64343)

Popular pages this month

  1. Prezentul simplu si continuu - Present Tense Simple and Continuous (1230)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1202)
  3. Exercitii engleza - English Tests and exercises - Grammar (1172)
  4. Gramatica limbii engleze - Prezentare Generala (943)
  5. Conditional IF in Limba Engleza - Fraze Conditionale (850)