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
Clic pe tag-ul HTML care afiseaza o linie orizontala.
<br> <em> <hr>
Continut ...
<hr />
Alt continut sub linie ...
Care proprietate CSS defineste culoarea textului?
font-style font-variant color
h2 {
  color: #cbdafb;
}
Clic pe functia care cauta daca un anume caracter sau text e intr-un sir.
indexOf() toString() split()
var str = "Web courses - http://CoursesWeb.net/";
if(str.indexOf("http://") == -1) alert("http:// nu e in sir");
else alert("http:// e in sir");
Care e functia ce imparte un sir in parti de siruri intr-un array, pe baza unui separator?
array_merge() explode() implode()
$str = "mar,banana,pepene,para";
$arr = explode(",", $str);
var_export($arr);      // array (0=>"mar", 1=>"banana", 2=>"pepene", 3=>"para")
Indicati asocierea corecta: "luna-anotimp".
April - Autumn October - Spring July - Summer
July is a beautiful summer month.
- Iulie este o frumoasa luna de vara.
Indicati asocierea corecta: "luna-anotimp".
Octubre - Primavera Julio - Verano Abril - OtoƱo
Julio es un hermoso mes de verano.
- Iulie este o frumoasa luna de vara.
Script PHP - curs valutar

Last accessed pages

  1. Confusable words - Cuvinte confundabile (6372)
  2. Un Pamant Nou (445)
  3. Verbe neregulate (5581)
  4. Coduri pt culori (73188)
  5. Verbe modale 2 - Teste incepatori (9908)

Popular pages this month

  1. Curs HTML gratuit Tutoriale HTML5 (532)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (501)
  3. Coduri pt culori (308)
  4. Creare si editare pagini HTML (177)
  5. Formatare text in pagina html (175)