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
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




1. sprawdz, co tak naprawdę sie tak wolno wykonuje, poprzez umieszczenie w kolejnych miejscach odpowiednich zegarów. W ten sposób określisz, który fragment kody wykonuje się wtedy najwolniej.

2. I tak założę się, że problem jest właśnie w pobieraniu pliku z zewnętrznego serwera. Nawet jak sam transfer pomiędzy serwerami jest ok, to przyczyną może być np. przeciążenie serwerka nbp.

3. Aby uniknąć tego problemu, warto by było w jakiś sposób cachować wyniki tego skryptu. W końcu kursy walut nie zmieniają się co 10 min (prawda?) więc wystarczyłoby wykonywac taki skrypt raz na jakiś czas, a następnie zapisać jego wyniki w jakimś pliczku (bazie) już na naszym serwerze.
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: 3.10.2025 - 12:55