|
|
|
|
|
для: XoLoD
(13.03.2007 в 09:21)
| | ) | |
|
|
|
|
|
|
|
для: XoLoD
(12.03.2007 в 18:00)
| | Ничем не поможете? | |
|
|
|
|
|
|
|
для: Xolod
(12.03.2007 в 16:12)
| | . | |
|
|
|
|
|
|
| Помогите пожалуйста.
есть скрипт
<?php
$table_name="currency"; // имя таблицы в БД
// или файла на диске
$default_code=840; // выдавать валюту с кодом 840 (USD),
// если перед скриптом не установлена
// переменная $wish - код желаемой
// валюты
$today=date("d/m/Y");
{
if (file_exists($table_name)) { // если на диске уже есть такой файл
$fd=fopen($table_name,"r");
while (!feof($fd)) {
$buffers[] = fgets($fd, 4096);
}
fclose ($fd);
$last_update=str_replace("\n","",$buffers[0]);
}
else
{ // на диске нет такого файла
$last_update="";
}
}
if ($today!=$last_update) {
if ($fp = @fopen("http://www.cbr.ru/currency_base/D_print.asp?date_req=$today","r"))
{
$i=$flag=0;
while (!feof($fp)) {
$buffer = fgets($fp, 4096);
$buffer=trim($buffer);
if (substr($buffer,0,3)=="<td" && $flag>0) {
if($flag==5) {$curs[$i]=trim(strip_tags($buffer)); $flag=0; $i++;}
if($flag==4) {$fname[$i]=trim(str_replace(" ","",strip_tags($buffer))); $flag=5;}
if($flag==3) {$qty[$i]=trim(strip_tags($buffer)); $flag=4;}
if($flag==2) {$sname[$i]=trim(str_replace(" ","",strip_tags($buffer))); $flag=3;}
if($flag==1) {$code[$i]=trim(strip_tags($buffer)); $flag=2;}
}
if ($buffer=="<tr bgcolor=\"#ffffff\">") $flag=1;
}
fclose($fp);
{
$fd=fopen($table_name,"w");
$line=$today."\n";
fputs($fd,$line,strlen($line));
$i=0;
while($i<sizeof($curs)) {
$line=$code[$i]."|".$sname[$i]."|".$fname[$i]."|".$qty[$i]."|".$curs[$i]."\n";
fputs($fd,$line,strlen($line));
$i++;
}
fclose ($fd);
}
}
}
unset($code);
unset($sname);
unset($fname);
unset($qty);
unset($curs);
{ // чтение из локального файла
$fd=fopen($table_name,"r");
while (!feof($fd)) {
$line = fgets($fd, 4096);
if (strstr($line,"|")) {
$string=explode("|",$line);
$n=$code[]=$string[0];
$sname[$n]=$string[1];
$fname[$n]=$string[2];
$qty[$n]=$string[3];
$curs[$n]=$string[4];
}
}
fclose ($fd);
}
if (!isset($wish) || !in_array($wish,$code)) $wish=$default_code;
$curs[$wish] = str_replace("\n","",$curs[$wish]);
$bucks=$curs[$wish];
$b_qty=$qty[$wish];
$b_sname=$sname[$wish];
$b_fname=$fname[$wish];
//$bucks=sprintf("%.2f",$bucks);
$curs[978] = str_replace("\n","",$curs[978]);
?>
|
12/03/2007
036|AUD|Австралийский доллар|1|20,4479
974|BYR|Белорусских рублей|1000|12,1986
208|DKK|Датских крон|10|46,2624
840|USD|Доллар США|1|26,2086
978|EUR|Евро|1|34,4564
352|ISK|Исландских крон|100|38,9025
398|KZT|Казахских тенге|100|21,1664
124|CAD|Канадский доллар|1|22,2107
156|CNY|Китайских юаней Жэньминьби|10|33,8438
949|TRY|Новая турецкая лира|1|18,4438
578|NOK|Норвежских крон|10|42,3286
960|XDR|СДР|1|39,3860
702|SGD|Сингапурский доллар|1|17,1646
980|UAH|Украинских гривен|10|51,7568
826|GBP|Фунт стерлингов Соединенного королевства|1|50,6376
752|SEK|Шведских крон|10|37,0560
756|CHF|Швейцарский франк|1|21,3547
392|JPY|Японских йен|100|22,3242
|
он записывает данные в файл каждый раз заменяя если данные другие
Надо чтобы он сравнивал старое с новым и разницу записывал рядом в строке и только после этого заменял новыми данными
к примеру длжно быть так
036|AUD|Австралийский доллар|1|20,4479|+0.032
752|SEK|Шведских крон|10|37,0560|-0.0045
|
| |
|
|
|
|