Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Индекс валют

Сообщения:  [1-4] 

 
 автор: XoLoD   (19.03.2007 в 10:26)   письмо автору
 
   для: XoLoD   (13.03.2007 в 09:21)
 

)

   
 
 автор: XoLoD   (13.03.2007 в 09:21)   письмо автору
 
   для: XoLoD   (12.03.2007 в 18:00)
 

Ничем не поможете?

   
 
 автор: XoLoD   (12.03.2007 в 18:00)   письмо автору
 
   для: Xolod   (12.03.2007 в 16:12)
 

.

   
 
 автор: 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($fd4096);
                            }
                        
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($fp4096);
            
$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("&nbsp;","",strip_tags($buffer))); $flag=5;}
    if(
$flag==3) {$qty[$i]=trim(strip_tags($buffer)); $flag=4;}
    if(
$flag==2) {$sname[$i]=trim(str_replace("&nbsp;","",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($fd4096);
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

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования