🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.php
18 messages
18 total messages Started by Metempsychoza Wed, 22 Aug 2001 01:46
kursy walut z nbp
#547
Author: Metempsychoza
Date: Wed, 22 Aug 2001 01:46
59 lines
2282 bytes
zauwazylem ze na naszej grupie jak i na server-side czesto przewija sie
pytanie: "skad i jak sciagnac kursy walut?"
oto gotowiec:

<?php
# dolaczamy biblioteke z gruszki
require "Net/Socket.php";

class Metempsychoza_nbp extends Net_Socket {

var $data;

 function Metempsychoza_nbp($url) {
  parent::Net_Socket();

  $pattern = "/^(?:http\:\/\/)?(.+?)(\/.+?)$/i";
  preg_match($pattern, $url, $regs);

  Net_Socket::connect($regs[1], 80);
  Net_Socket::writeLine ("GET ".$regs[2]." HTTP/1.0\r\n");
  $data = Net_Socket::readAll();
  Net_Socket::disconnect();

  if(!empty($data)) {
   $pattern = "/\r\n<br>\r\n\s*<\s*table\s*(?:.+?)>(.+?)<\/\s*table\s*>/is";
   preg_match($pattern, $data, $regs);
   $this->data = $regs[1];
  }
 }

 function Parse() {
  $pattern = "/.*>(.+?)<\//i";
  preg_match_all($pattern, $this->data, $regs);
  $t = array(symbol, waluta, kupno, sprzedaż);

  for($i=7; $l=$regs[1][$i]; $i+=5) {
   for($ii=0; $ll=$t[$ii]; $ii++) {
    $k[$l][$ll] = ltrim($regs[1][$i+$ii+1]);
   }
  }
  return $k;
 }
}
# sposob uzycia:
$o = new Metempsychoza_nbp("http://www.nbp.pl/asps/kursy_ks.html");
$kurs = $o->Parse();

# teraz mozemy wyswietlic to co nas interesuje:
echo $kurs[Australia][sprzedaż]."\n";
echo $kurs[Australia][kupno]."\n";
echo $kurs[Australia][symbol]."\n";
echo $kurs[Australia][waluta]."\n";

# lub podejrzec cala strukture tablicy:
print_r($kurs);

?>
--
metempsychoza(at)wp.pl
Re: kursy walut z nbp
#548
Author: Daniel
Date: Wed, 22 Aug 2001 06:35
74 lines
2729 bytes
Niestety nie mogę przetestować tego rozwiązania ponieważ  nie posiadam
biblioteki socket

Czy możesz podać namiar na nią.

Pozdrawiam,

Daniel


Użytkownik "Metempsychoza" <metempsychoza@wp.pl> napisał w wiadomości
news:9lv3b8$f92$1@news.tpi.pl...
> zauwazylem ze na naszej grupie jak i na server-side czesto przewija sie
> pytanie: "skad i jak sciagnac kursy walut?"
> oto gotowiec:
>
> <?php
> # dolaczamy biblioteke z gruszki
> require "Net/Socket.php";
>
> class Metempsychoza_nbp extends Net_Socket {
>
> var $data;
>
>  function Metempsychoza_nbp($url) {
>   parent::Net_Socket();
>
>   $pattern = "/^(?:http\:\/\/)?(.+?)(\/.+?)$/i";
>   preg_match($pattern, $url, $regs);
>
>   Net_Socket::connect($regs[1], 80);
>   Net_Socket::writeLine ("GET ".$regs[2]." HTTP/1.0\r\n");
>   $data = Net_Socket::readAll();
>   Net_Socket::disconnect();
>
>   if(!empty($data)) {
>    $pattern =
"/\r\n<br>\r\n\s*<\s*table\s*(?:.+?)>(.+?)<\/\s*table\s*>/is";
>    preg_match($pattern, $data, $regs);
>    $this->data = $regs[1];
>   }
>  }
>
>  function Parse() {
>   $pattern = "/.*>(.+?)<\//i";
>   preg_match_all($pattern, $this->data, $regs);
>   $t = array(symbol, waluta, kupno, sprzedaż);
>
>   for($i=7; $l=$regs[1][$i]; $i+=5) {
>    for($ii=0; $ll=$t[$ii]; $ii++) {
>     $k[$l][$ll] = ltrim($regs[1][$i+$ii+1]);
>    }
>   }
>   return $k;
>  }
> }
> # sposob uzycia:
> $o = new Metempsychoza_nbp("http://www.nbp.pl/asps/kursy_ks.html");
> $kurs = $o->Parse();
>
> # teraz mozemy wyswietlic to co nas interesuje:
> echo $kurs[Australia][sprzedaż]."\n";
> echo $kurs[Australia][kupno]."\n";
> echo $kurs[Australia][symbol]."\n";
> echo $kurs[Australia][waluta]."\n";
>
> # lub podejrzec cala strukture tablicy:
> print_r($kurs);
>
> ?>
> --
> metempsychoza(at)wp.pl
>
>
Re: kursy walut z nbp
#549
Author: Metempsychoza
Date: Wed, 22 Aug 2001 08:04
22 lines
1667 bytes
Użytkownik "Daniel" <wszelaki@kki.net.pl> napisał w wiadomości
news:9lvjvm$h63$1@news.tpi.pl...
> Niestety nie mogę przetestować tego rozwiązania ponieważ  nie posiadam
> biblioteki socket
masz ja, tylko jeszcze o tym nie wiesz :-)

> Czy możesz podać namiar na nią.

po pierwsze sproboj odpalic skrypt, na 90% zadziala
jesli jestes w pozostalych 10% zrob co nastepuje:
1) znajdz w dystrybucji php katalog o nazwie "pear'
2) w pliku php.ini popraw linijke
inlude_path = ".:/twoja_sciezka_do_pear"
jesli nie masz dostepu do php.ini to umiesc bezposrednio w skrypcie:
<?php
ini_set(include_path, ".:/twoja_sciezka_do_pear");
?>
jesli dzialasz pod windowsem, to po kropce zamiast dwukropka daj srednik
i bedzie ok
--
metempsychoza(at)wp.pl
Re: kursy walut z nbp
#550
Author: Daniel
Date: Wed, 22 Aug 2001 09:01
17 lines
1240 bytes
Witam,


Przy próbie odpalenia skryptu pojawia mi się taki komunikat :

Fatal error: Failed opening required 'socket.php'
(include_path='.:/usr/local/lib/php') ....

problem jest w tym iż korzystam s serwera wirtualnego i nie mam dostępu do
plików konfiguracyjnych php.



Pozdrawiam,


Daniel
Re: kursy walut z nbp
#551
Author: Metempsychoza
Date: Wed, 22 Aug 2001 09:29
20 lines
1463 bytes
Użytkownik "Daniel" <wszelaki@kki.net.pl> napisał w wiadomości
news:9lvshu$9la$1@news.tpi.pl...
> Witam,
>
>
> Przy próbie odpalenia skryptu pojawia mi się taki komunikat :
>
> Fatal error: Failed opening required 'socket.php'
> (include_path='.:/usr/local/lib/php') ....
>
> problem jest w tym iż korzystam s serwera wirtualnego i nie mam dostępu do
> plików konfiguracyjnych php.

to sproboj w skrypcie
<?php
ini_set(include_path, ".:/usr/share/php");
?>
--
metempsychoza(at)wp.pl
Re: kursy walut z nbp
#552
Author: Daniel
Date: Wed, 22 Aug 2001 10:42
29 lines
1674 bytes
Niestety nie pomogło


Użytkownik "Metempsychoza" <metempsychoza@wp.pl> napisał w wiadomości
news:9lvufp$nin$1@news.tpi.pl...
>
> Użytkownik "Daniel" <wszelaki@kki.net.pl> napisał w wiadomości
> news:9lvshu$9la$1@news.tpi.pl...
> > Witam,
> >
> >
> > Przy próbie odpalenia skryptu pojawia mi się taki komunikat :
> >
> > Fatal error: Failed opening required 'socket.php'
> > (include_path='.:/usr/local/lib/php') ....
> >
> > problem jest w tym iż korzystam s serwera wirtualnego i nie mam dostępu
do
> > plików konfiguracyjnych php.
>
> to sproboj w skrypcie
> <?php
> ini_set(include_path, ".:/usr/share/php");
> ?>
> --
> metempsychoza(at)wp.pl
>
>
>
Re: kursy walut z nbp
#556
Author: Piotr Burda
Date: Wed, 22 Aug 2001 11:44
4 lines
1000 bytes
a mnie wywala taki komunikat
Fatal error: No parent class available in this context in
/home/httpd/html/kusry_proba.php on line 10
Piotr
Re: kursy walut z nbp
#553
Author: Daniel
Date: Wed, 22 Aug 2001 12:19
8 lines
1083 bytes
A czy możesz mi podesłać na priva plik
socket.php


Pozdrawiam,


Daniel
Re: kursy walut z nbp
#554
Author: slawek-
Date: Wed, 22 Aug 2001 13:46
9 lines
1107 bytes
"Daniel" <wszelaki@kki.net.pl> napisał:
> A czy możesz mi podesłać na priva plik
> socket.php

Możesz go sobie sam ściągnąć:

http://cvs.php.net/co.php/php4/pear/Net/Socket.php?r=1.7&p=1

slawek-
Re: kursy walut z nbp
#557
Author: cauchy
Date: Wed, 22 Aug 2001 16:15
8 lines
1155 bytes
u mnie zadzialalo
tylko jakos w dziwny nie wyjasniony
sposob wyswietla

pytanie czy ktos sobie rosci prawa do
tego skryptu i czy zezwalana male poprawki w kodzie?

pozdro
Re: kursy walut z nbp
#560
Author: Metempsychoza
Date: Wed, 22 Aug 2001 17:46
18 lines
1636 bytes
Użytkownik "Piotr Burda" <poczta@narty.pl> napisał w wiadomości
news:9m06i0$k18$1@news.tpi.pl...
> a mnie wywala taki komunikat
> Fatal error: No parent class available in this context in
> /home/httpd/html/kusry_proba.php on line 10

masz troche podstarzalego php :-)
zamiast w "nowoczesny" sposob wywolywac konstruktor klasy macierzystej,
czyli parent::Net_Socket();
musisz wywolac go w nastepujacy sposob
$this->Net_Socket(); lub Net_Socket::Net_Socket();

i tu ujawiaja sie niezgodnosci miedzy poszczegolnymi wersjami php, ale i tak
powinnismy sie cieszyc ze nie sa to roznice tak wielkie jak interpretacja
html-a w poszczegolnych przegladarkach
--
metempsychoza(at)wp.pl
Re: kursy walut z nbp
#555
Author: Metempsychoza
Date: Wed, 22 Aug 2001 17:57
16 lines
1476 bytes
Użytkownik "slawek-" <slawek@irc.pl.NOSPAM> napisał w wiadomości
news:3b83aa68@news.home.net.pl...
> "Daniel" <wszelaki@kki.net.pl> napisał:
> > A czy możesz mi podesłać na priva plik
> > socket.php
>
> Możesz go sobie sam ściągnąć:
>
> http://cvs.php.net/co.php/php4/pear/Net/Socket.php?r=1.7&p=1

no i jeszcze
http://cvs.php.net/co.php/php4/pear/PEAR.php?r=1.14
bedzie ci potrzebne
--
metempsychoza(at)wp.pl
Re: kursy walut z nbp
#558
Author: Metempsychoza
Date: Wed, 22 Aug 2001 18:21
17 lines
1444 bytes
Użytkownik "cauchy" <\\x//cuchy2k@o2.pl\\x//> napisał w wiadomości
news:3b83d9bd$1@news.bsi.net.pl...
> u mnie zadzialalo
> tylko jakos w dziwny nie wyjasniony
> sposob wyswietla
to znaczy jak?

> pytanie czy ktos sobie rosci prawa do
> tego skryptu i czy zezwalana male poprawki w kodzie?

skrypt ten jest dystrybuowany na podstawie General Beer License (GBL), co
oznacza ze jesli zastosujesz go w projekcie wartym <100000zl, to wowczas
musisz postawic mi piwo :-)

--
metempsychoza(at)wp.pl
Re: kursy walut z nbp
#562
Author: Radosław Popławski
Date: Wed, 22 Aug 2001 21:07
8 lines
1107 bytes
Wed, 22 Aug 2001 03:46:05 +0200, w <9lv3b8$f92$1@news.tpi.pl>,
"Metempsychoza" <metempsychoza@wp.pl> napisał(-a):

> <?php
> # dolaczamy biblioteke z gruszki
> require "Net/Socket.php";

To już zwykły fopen nie wystarczył? :)
Re: kursy walut z nbp
#559
Author: cauchy
Date: Wed, 22 Aug 2001 22:12
13 lines
1297 bytes
>
> skrypt ten jest dystrybuowany na podstawie General Beer License (GBL), co
> oznacza ze jesli zastosujesz go w projekcie wartym <100000zl, to wowczas
> musisz postawic mi piwo :-)
>

oky

jesli sie tak stanie pierwszy
bedziesz o tym wiedzial

pozdro
Re: kursy walut z nbp
#563
Author: Metempsychoza
Date: Thu, 23 Aug 2001 09:49
15 lines
1512 bytes
> > # dolaczamy biblioteke z gruszki
> > require "Net/Socket.php";

> To już zwykły fopen nie wystarczył? :)

i jeszcze fwrite, fread, fclose, i na dodatek trzeba zadbac o obsluge
bledow, czyli szereg mechanicznych czynnosci ktore zna sie juz na pamiec
skoro jacys leniwi ;-) programisci stworzyli (a raczej nadal tworza) PEAR to
korzystajmy z tego
poza tym nie wiem czy zwrociles uwage: gruszka jest po prostu piekna:
czysty, logiczny kod, wzor do nasladowania jesli chodzi o programowanie w
php

--
metempsychoza(at)wp.pl
Re: kursy walut z nbp
#561
Author: Piotr Burda
Date: Thu, 23 Aug 2001 10:34
11 lines
1450 bytes
> i tu ujawiaja sie niezgodnosci miedzy poszczegolnymi wersjami php, ale i
tak
> powinnismy sie cieszyc ze nie sa to roznice tak wielkie jak interpretacja
> html-a w poszczegolnych przegladarkach
> --
> metempsychoza(at)wp.pl
>
i to dotknales BAAAAARdzo drazliwego tematu, szlag mnie juz trafia od kilku
dni i siwieje. bylo pieknie pod IE pod szkapa nie zrobilem pod szkape to pod
IE troche zbrzydlo i coraz bardziej dojzewam do zrobienia 2 wersji serwisu.
Piotr
Re: kursy walut z nbp
#564
Author: Radosław Popławski
Date: Sat, 25 Aug 2001 12:34
19 lines
1775 bytes
Thu, 23 Aug 2001 11:49:28 +0200, w <9m2k1c$5u7$1@news.tpi.pl>,
"Metempsychoza" <metempsychoza@wp.pl> napisał(-a):

> > > # dolaczamy biblioteke z gruszki
> > > require "Net/Socket.php";
> 
> > To już zwykły fopen nie wystarczył? :)
> 
> i jeszcze fwrite, fread, fclose, i na dodatek trzeba zadbac o obsluge
> bledow, czyli szereg mechanicznych czynnosci ktore zna sie juz na pamiec
> skoro jacys leniwi ;-) programisci stworzyli (a raczej nadal tworza) PEAR to
> korzystajmy z tego
> poza tym nie wiem czy zwrociles uwage: gruszka jest po prostu piekna:
> czysty, logiczny kod, wzor do nasladowania jesli chodzi o programowanie w
> php

Właśnie tego nie widzę -- coonect, writeLine, readAll, disconnect...
To już fopen/fread/fclose jest prostsze, bo przynajmniej nie trzeba
znać składni polecenia HTTP. :)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads