Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> extractowanie kursu waluty i potem uzycie jej jako zmiennej
post
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 ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nocnyMark()
post
Post #2





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 26.04.2004

Ostrzeżenie: (0%)
-----


to juz tak z czystej powinnosci by zakonczyc temat podam rozwiazanie dla przyszlych pokolen poczatqjacych ktore nie beda mogly sobie z tym poradzic

przerobilem troche jeden z powyzszych skryptow i wyszlo tak:

[php:1:e5f556fc93]
<?php

// skrypt wyciaga dolara i euro ze strony NBP //

$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("<xml/(.*?).xml>", $strona, $xml);

$f1 = @fopen("http://www.nbp.pl/Kursy/$xml[0]", "r");

if ($f1) {
while(!feof($f1)) $strona1.= fread($f1,1024); fclose($f1);
$strona1 = preg_replace("/r/", "", $strona1);
$strona1 = preg_replace("/n/", "", $strona1);
$strona1 = preg_replace("/ /", "", $strona1);
preg_match("/USD</kod_waluty><kurs_sredni>(.*?)</ku/", $strona1, $usd);
$usd = substr($usd[0], -10, -6);
global $usd;
$usd = substr($usd, 0, 1 ).".".substr($usd, 2,3);
preg_match("/EUR</kod_waluty><kurs_sredni>(.*?)</ku/", $strona1, $eur);
$eur = substr($eur[0], -10, -6);
global $eur;
$eur = substr($eur, 0, 1 ).".".substr($eur, 2,3);

}
}
echo "<br>kurs dol $usd i kurs eur $eur <br>";

?>[/php:1:e5f556fc93]

i na koniec dodam ze skrypt wyciaga aktualna nazwe pliku xml z tabela kursow ze strony nbp a potem w tym pliku xml szuka odpowiednich walut

mam nadzieje ze to komus pomoze bo mnie sie nie udalo znalesc na tym forum kodu w miare szybkiego, prostego i krotkiego, ktory by wyciagal waluty ktore potem mozna uzyc na stronie do dynamicznego przeliczania z pln'off na przyklad

pozdrawiam
i jakby co to pytac

ps. zgodnie z sugestia nexisa poprawilem, bledem okazalo sie to ze po wrzuceniu na strone forum dodawalo do skryptu kilka spacji no i wszystko sie zaczelo chrzanic - teraz skrocilem troche stringi ktore szuka w pliku *.xml - sprawdzilem kopiujac z forum skrypt - dziala
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 20:05