PHP Code:
// Curs Valutar BNR
// -> (denumire, cod international, valoare in lei vechi, valoare in lei noi,
// semn crestere / scadere valoare, variatia fata de ziua precedenta - in procente).
// Autor:(c)MITZU
// Scriptul poate fii utilizat fara permisiunea autorului. :D
$fila = fopen("http://www.bnro.ro/Ro/Info/curs_ext.asp","rb"); $pagina = '';
while (!feof($fila))
{ $pagina .= fread($fila, 4096);
} fclose($fila);
$tmp_ = explode('- lei vechi -', $pagina); $tmp_ = explode('- lei noi -', $tmp_[1]); $semn = ''; $val = strip_tags(str_replace(' class="bold"', '', $tmp_[0]), $semn); $val = str_replace('
', '', explode('', $val)); array_shift($val); array_pop($val); for($i=0; $i < count($val); $i++)
{ $val[$i] = str_replace('', '', explode('', $val[$i])); $n[$i] = trim($val[$i][1]);
$val[$i][5] = str_replace(' ', '.', $val[$i][5]); $val[$i][6] = str_replace(' ', '.', $val[$i][6]);
if(($val[$i][6] - $val[$i][5]) > 0 ) $semn = '+';
if(($val[$i][6] - $val[$i][5]) < 0) $semn = '-';
if(($val[$i][6] - $val[$i][5]) == 0) $semn = '';
$val[$i]['cod'] = $n[$i]; $val[$i]['nume'] = $val[$i][0]; $val[$i]['val'] = $val[$i][6]; $val[$i]['var'] = ($val[$i][5] - $val[$i][6]) / $val[$i][6]*100;
$val[$i]['var'] = $semn.''.substr(abs($val[$i]['var']), 0, 5).'%';
////////// $val[$i]['l_nou'] = Valoarea in LEI NOI.
$val[$i]['l_nou'] = str_replace('.', '', $val[$i]['val']) / 10000;
if($n[$i]=='100JPY')
{ $n[$i]='JPY'; $val[$i]['nume'] = 'Yen Japonez'; $val[$i]['cod'] = 'JPY'; $val[$i]['val'] = substr($val[$i]['val'] / 100, 0, 5); $val[$i]['l_nou']= substr($val[$i]['l_nou'] / 100, 0, 5);
} $val[$i]['l_nou'] = substr((str_replace('.', ',', $val[$i]['l_nou'])), 0, 5);
}; /* pentru serverele PHP 4.x urmatorul loop echivaleaza functia array_combine() din PHP 5.x */ for ($k = 0, $nr = array_values($n), $vall = array_values($val), $cnt = sizeOf($nr); $k < $cnt; $k++) $valuta[$nr[$k]] = $vall[$k]; // $valuta - variabila pentru tabele personalizate.
/* daca exista server PHP 5.x in locul expresiei de mai sus se poate folosi $valuta = array_combine($n, $val);
---------- EXEMPLE :
1. Personalizat - Valutele se pot plasa in orice ordine
- $valuta['USD']['val'] = valoarea valutei pentru ziua in curs.
- $valuta['USD']['cod'] = codul International al valutei.
- $valuta['USD']['nume']= numele valutei.
- $valuta['USD']['var']= variatia valutei fata de ziua precedenta - (diferenta in procente)
*/ echo '
echo '
echo ''.$valuta['JPY']['nume'].''.$valuta['JPY']['cod'].''.$valuta['JPY']['val'].''.$valuta['JPY']['l_nou'].''.$valuta['JPY']['var'].'';
echo ''.$valuta['EUR']['nume'].''.$valuta['EUR']['cod'].''.$valuta['EUR']['val'].''.$valuta['EUR']['l_nou'].''.$valuta['EUR']['var'].'';
echo ''; /*
2. Simplu - Toate Valutele afisate in pagina BNR afisate in ordinea din pagina de referinta.
*/ echo '
echo '
for($i=0; $i<count($val); $i++)
{
echo ''.$val[$i]['nume'].''.$val[$i]['cod'].''.$val[$i]['val'].''.$val[$i]['l_nou'].''.$val[$i]['var'].'';
}
echo ''; ?>
No comments:
Post a Comment