Curs PHP-MySQL


Script PHP - curs valutar

Download - Nr. descarcari - 545          


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).



- Adaugat intr-o pagina web, acesta va afisa urmatorul rezultat


Curs valutar (BNR)
- 22-05-2012 -
Dolari3.4817Lei
Euro4.4452Lei
Lire S5.4947Lei
Aur (g)176.3513Lei
          Cursuri Jocuri Anime

Cod PHP Curs valutar

<?php 
// De la www.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="http://www.marplo.net" target="_blank" style="color:#e8e8fe; font-size:8px;">Cursuri Jocuri Anime</a></td></tr></table>';

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


Lectii / Tutoriale

Diverse PHP

Scripturi

  • PHP Script Chat
  • CMS Blog cu Ajax
  • Script Upload
  • Uploader
  • Multi-Uploader
  • Contoar pagina
  • Contor 2
  • Contoar click-uri
  • Contor Downloads
  • Numar Vizitatori si Utilizatori Online
  • Script inregistrare
  • Inregistrare Utilizatori
  • Curs valutar
  • Curs valutar 2
  • Mailer
  • Formular contact
  • Script comentarii
  • Script comentarii 2
  • Script comentarii 3
  • Vizitatori online
  • Script Paginare
  • Clasa Paginare
  • Script Page Rank
  • Script Chat
  • Numarare cuvinte
  • Recomanda pagina
  • Sistem notare
  • Countdown timer
  • Mini_Trafic Site
  • Subiecte forum
  • Clasa cautare Google
Script PHP - curs valutar
2008 - 2012 Webmaster, Webdesigner : MarPlo