![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Postów: 0 Pomógł: Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
mam sobie taki skrypcik:
[php:1:e539f0baee] <? $host = "www.nbp.pl"; $strona="/Kursy/KursyA.html"; $wskaznik = fsockopen($host, 80, $blad_nr, $blad_opis) or die ("Nie można otworzyć strony $host<BR>Błąd: $blad_nr <BR>Opis: $blad_opis"); $naglowek = "GET $strona HTTP/1.1rnHost: $hostrnrn"; fputs($wskaznik, $naglowek); $lancuch = ""; while(!feof($wskaznik)) $lancuch = $lancuch.fgets($wskaznik); fclose($wskaznik); $odpowiedz = substr($lancuch,0,strpos($lancuch,"rnrn")); $strona = strip_tags(substr($lancuch, strpos($lancuch,"rnrn"))); $pre_usd = substr($strona,strpos($strona,"USD"),10); $pre_euro = substr($strona,strpos($strona,"EUR"),10); $pre_usd2 = substr($pre_usd, -5,4); $pre_euro2 = substr($pre_euro, -5,4); $usd = substr_replace($pre_usd2, ".",-3).substr($pre_usd, -3,2); print "cena dolara: ".$pre_usd; echo "<br>"; $euro = substr_replace($pre_euro2, ".",-3).substr($pre_euro, -3,2); print "cena euro: ".$pre_euro; echo "<br>"; $mnoznik = 20000; echo "a teraz wartosci pomnozone przez zmienna mnoznik"; echo "<br>"; $wynik_eu = $euro*$mnoznik; $wynik_us = $usd*$mnoznik; print "<br>cena w zl: ".$mnoznik; print "<br>cena w $: ".$wynik_us; print "<br>cena w Eu: ".$wynik_eu; ?> [/php:1:e539f0baee] ktory zczytuje z nbp aktualnego dolara i eurusa a potem uzywa je do wyliczania cen jednak owy skrypt ma wade, choc dziala to dziala dziwnie, czasami szybko a czasami straaaasznie dlugo, i teraz nie wiem dla czego (nie jest to wina przeplywnosci lacza miedzy serwerem gdzie jest skrypt a serwerem nbp ) czy ktos moglby mi pomoc ? moze podsunac jakis lepszy pomysl na otrzymywanie jako zmienne aktualnych kursow walut ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Postów: 0 Pomógł: Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
ok, posiedzialem chwile przy przeszukiwaniu forum i znalazlem cos takiego:
http://forum.php.pl/viewtopic.php?t=3026&start=21 [php:1:38abc3fed6] <? $f = @fopen("http://www.nbp.pl/Kursy/KursyA.html", "r"); if ($f) { while(!feof($f)) $strona.= fread($f,1024); fclose($f); $strona = preg_replace("/r/", " ", $strona); $strona = preg_replace("/n/", " ", $strona); preg_match("/z dnia <b>(.*?)</b>/", $strona, $zdnia); echo "<br>średnie kursy walut <br>NBP z ". $zdnia[1]; preg_match_all ("/<tr valign="middle">.*?</tr>/", $strona, $sa); for ($i=0; $i<count($sa[0]); $i++) { preg_match("/new">(.*?)</td/", $sa[0][$i], $waluta); preg_match("/lne">(.*?)</td/", $sa[0][$i], $kurs); if (eregi("USD",$waluta[1])) echo "<br>1 USD - ".$kurs[1]; if (eregi("EUR",$waluta[1])) echo "<br>1 EUR - ".$kurs[1]; if (eregi("GBP",$waluta[1])) echo "<br>1 GBP - ".$kurs[1]; } } ?> [/php:1:38abc3fed6] ten skrypt zwraca waluty baardzo szybko, prawie tak szybko jak laduje sie strona. nie porownywalnie szybciej niz ten ktory wczesniej podawalem jednak problemem tego jest ze nie zwraca ich w postaci zmiennych i nie wiem jak to zrobic poza tym dalej nie wiem co tak zwalnialo we wczesniejszym skrypcie, serwery na ktorych odpalalem tamten byly rozne, od p200mmx do 2xP4 i to na roznych laczach, zawsze podobnie dluuuuugo moze macie jakis pomysl (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 16:53 |