Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Połączenie dwóch kodów
kalibovers
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 24.02.2013

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


Czy da sie połączyć te 2 kody czyli zeby pobierał 3 kursy ze strony nbp i wklejał je do pliku bo uzywałem tego skryptu ale nie wyswietla nawet a jako zmienna nie działa. Jakies pomoce ?
Ps. uzyłem juz opcji "szukaj"
  1. <?php
  2. $strona = preg_replace('/[\r\n]/',' ',file_get_contents('http://www.nbp.pl/Kursy/KursyA.html'));
  3. preg_match('/z dnia <b>(.*?)<\/b>/', $strona, $zdnia);
  4. $content = "Kurs średni wg NBP<br>z dnia $zdnia[1] ";
  5. preg_match_all('/<tr valign="middle">.*?<\/tr>/', $strona, $sa);
  6. for ($i=0; $i<count($sa[0]); $i++) {
  7. preg_match('/bg1">(.*?)<\/td/', $sa[0][$i], $waluta);
  8.  
  9. preg_match('/bg1">([0-9],[0-9]*?)<\/td/', $sa[0][$i], $kurs);
  10. if (stristr($waluta[1],'euro')) $content .= "<br><br><b>1 EUR - $kurs[1] PLN</b> ";
  11. if (stristr($waluta[1],'dolar am'))$content .= "<br><br><b>1 USD - $kurs[1] PLN</b> ";
  12.  
  13. }
  14.  
  15. print $content;
  16. ?>

  1. <?php
  2. $filename = 'kursy/'.date("Y-m-d", time()).'.txt';
  3. $fp = fopen($filename, 'w');
  4. $somecontent = "lew bułgarski 1 BGN 2,1655
  5. peso chilijskie 100 CLP 0,6036
  6. rupia indyjska 100 INR 6,1285\n";
  7.  
  8. if (is_writable($filename)) {
  9.  
  10.  
  11. if (!$handle = fopen($filename, 'a')) {
  12. echo "Nie można odtworzyc ($filename)";
  13. }
  14.  
  15. if (fwrite($handle, $somecontent) === FALSE) {
  16. echo "Nie można nadpisać ($filename)";
  17. }
  18.  
  19. echo "Zapisano ($somecontent) do ($filename)";
  20.  
  21. fclose($handle);
  22.  
  23. } else {
  24. echo "Nie można zapisać $filename ";
  25. }
  26. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kalibovers
post
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 24.02.2013

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


takie ? (IMG:style_emoticons/default/tongue.gif) i moje pytanie czy da sie skrocic czy wszystkie tutaj rzeczy sa dobrze ?
  1. <?php
  2.  
  3. function convert($text) {
  4. $charset = '';
  5.  
  6. if ($charset && function_exists('iconv')) {
  7. return iconv('utf-8', $charset, $text);
  8. } elseif ($charset && function_exists('recode_string')) {
  9. return recode_string('utf8...' . $charset, $text);
  10. } else {
  11. return $text;
  12. }
  13. }
  14.  
  15. class kursy {
  16.  
  17. private $contents = '';
  18.  
  19. function __construct($url, $cache = 'kursy_cache.txt', $lastupdate = '12:16 -1 day', $thisupdate = '12:16') {
  20. $recent = TRUE;
  21. $lastupdate = strtotime($lastupdate);
  22. $thisupdate = strtotime($thisupdate);
  23.  
  24. if ((!file_exists($cache) AND ! is_writable(dirname($cache)) )
  25. OR ( file_exists($cache) AND ! (is_writable($cache)) )) {
  26.  
  27. $cache = '';
  28. } else {
  29.  
  30. if (@filemtime($cache) < $lastupdate) {
  31. $recent = FALSE;
  32. } elseif (time() > $thisupdate && @filemtime($cache) < $thisupdate) {
  33. $recent = FALSE;
  34. }
  35. }
  36.  
  37.  
  38. if ($cache == '' OR ! $recent) {
  39.  
  40. $this->contents = file_get_contents($url);
  41. if ($this->contents == FALSE) {
  42. throw new Exception('Nie udało się pobrać kursów walut.');
  43. }
  44.  
  45.  
  46. if ($cache != '') {
  47.  
  48. file_put_contents($cache, $this->contents);
  49. }
  50. } else {
  51.  
  52. $this->contents = file_get_contents($cache);
  53. }
  54. }
  55.  
  56. function znajdz($fields) {
  57. if (!is_array($fields)) {
  58. $fields = array($fields);
  59. }
  60.  
  61. $last = libxml_use_internal_errors(TRUE);
  62. $info = new SimpleXMLElement($this->contents);
  63. libxml_use_internal_errors($last);
  64.  
  65.  
  66. $rates = array(
  67. 'numer_tabeli' => (string) $info->numer_tabeli,
  68. 'data_publikacji' => (string) $info->data_publikacji
  69. );
  70.  
  71. foreach ($info->pozycja as $v) {
  72. $kod = (string) $v->kod_waluty;
  73. $rates[$kod] = array(
  74. 'nazwa' => convert((string) $v->nazwa_waluty),
  75. 'ilosc' => (string) $v->przelicznik
  76. );
  77. foreach ($fields as $field) {
  78. $rates[$kod][$field] = (string) $v->$field;
  79. };
  80. }
  81.  
  82. return $rates;
  83. }
  84.  
  85. }
  86.  
  87. try {
  88.  
  89. $kursy = new kursy('http://nbp.pl/kursy/xml/LastA.xml', 'kursy_cache.txt', '12:16 -1 day', '12:16');
  90. $waluta = $kursy->znajdz(array('kurs_sredni'));
  91. $filename = 'kursy/' . date("Y-m-d", time()) . '.txt';
  92. $fp = fopen($filename, 'w');
  93. $somecontent = $waluta['BGN']['ilosc'] . ' BGN: ' . $waluta['BGN']['kurs_sredni'] . '<br />
  94. ' . $waluta['CLP']['ilosc'] . ' CLP: ' . $waluta['CLP']['kurs_sredni'] . '<br />
  95. ' . $waluta['INR']['ilosc'] . ' INR: ' . $waluta['INR']['kurs_sredni'] . '
  96. ';
  97. if (is_writable($filename)) {
  98.  
  99.  
  100. if (!$handle = fopen($filename, 'a')) {
  101. echo "Nie można odtworzyc ($filename)";
  102. }
  103.  
  104. if (fwrite($handle, $somecontent) === FALSE) {
  105. echo "Nie można nadpisać ($filename)";
  106. }
  107.  
  108. echo "Zapisano ($somecontent) do ($filename)";
  109.  
  110. fclose($handle);
  111. } else {
  112. echo "Nie można zapisać $filename ";
  113. }
  114. } catch (Exception $e) {
  115. echo 'Błąd przy wyświetlaniu kursów walut.';
  116. }
  117. ?>
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: 9.10.2025 - 03:51