Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Problem z https://sms.bzwbk24.pl
gregor2010.eu
post 4.01.2008, 19:41:09
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.01.2008

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


Mam problem. Chciałem pobrać (wyświetlić) zawartość pliku:
https://sms.bzwbk24.pl/arka/dane/minitab_all.xml

Tradycyjne metody zawodzą. Ma ktoś może jakiś pomysłquestionmark.gif Może coś pokombinować z cURL ?
Powód edycji: dodalem tag (cysiaczek)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
sticker
post 4.01.2008, 20:02:48
Post #2





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


no curl z ssl trzeba użyć do dzieła smile.gif


--------------------
Go to the top of the page
+Quote Post
gregor2010.eu
post 4.01.2008, 21:56:05
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.01.2008

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


Może jakieś konkrety?
W końcu to "przedszkole"?

Dobra z wyświetleniem już sobie poradziłem:
Kod
$ch = curl_init('https://sms.bzwbk24.pl/arka/dane/minitab_all.xml');
       curl_exec ($ch);
       curl_close($ch);


Może ma ktoś pomysł na to by zapisać tę treść do zmiennej, tak by było można to "obrobić"?
Go to the top of the page
+Quote Post
--ktoś--
post 4.01.2008, 22:02:46
Post #4





Goście







Wydaje mi sie, ze jest to zadanie rekrutacyjne do pewnej firmy. Jesli sie myle to przepraszam, ale jesli mam racje, to nie ladnie tak oszukiwac.
Go to the top of the page
+Quote Post
batman
post 4.01.2008, 22:14:56
Post #5





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




  1. <?php
  2. $zmienna = curl_exec($ch);
  3. ?>

I masz w zmiennej plik xml.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
gregor2010.eu
post 5.01.2008, 13:25:18
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 4.01.2008

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


Wszystkim wielkie dzięki. Już sobie poradziłem. Oto kompletny kod tego co chciałem zrobić.

  1. <?php
  2. function zaokr($liczba, $miejsc)
  3. {
  4. $liczba=round($liczba, $miejsc);
  5. $czesci = explode(".", $liczba); 
  6. if (strlen($czesci[1])<2) $czesci[1]=$czesci[1]."0";
  7. $liczba=$czesci[0].".".$czesci[1];
  8. return $liczba;
  9. }
  10.  
  11. $ch = curl_init();
  12. curl_setopt($ch, CURLOPT_URL, "https://sms.bzwbk24.pl/arka/dane/minitab_all.xml");
  13. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  14. $output = curl_exec($ch);
  15. curl_close($ch);
  16.  
  17. $start = strpos($output, 'data v=');
  18. $data= substr($output, $start+8);
  19. $stop = strpos($data, '"');
  20. $data= substr($data, 0, $stop);
  21.  
  22. $start = strpos($output, 'prevdata v=');
  23. $pdata= substr($output, $start+12);
  24. $stop = strpos($pdata, '"');
  25. $pdata= substr($pdata, 0, $stop);
  26.  
  27. echo '<table border="1">';
  28. echo '<tr>';
  29. echo '<td>Nazwa</td>';
  30. echo '<td>'.$pdata.'</td>';
  31. echo '<td>'.$data.'</td>';
  32. echo '<td>Zmiana</td>';
  33. echo '</tr>';
  34.  
  35. $test = strpos($output, 'name=');
  36. while ($test>1)
  37. {
  38. $name="";
  39. $value1="";
  40. $prevvalue1="";
  41. echo '<tr>';
  42. $start = strpos($output, 'name=');
  43. $output= substr($output, $start+6);
  44. $stop = strpos($output, '"');
  45. $name= substr($output, 0, $stop);
  46.  
  47. $start = strpos($output, 'value1=');
  48. $output= substr($output, $start+8);
  49. $stop = strpos($output, '"');
  50. $value1= substr($output, 0, $stop);
  51.  
  52. $start = strpos($output, 'prevvalue1=');
  53. $output= substr($output, $start+12);
  54. $stop = strpos($output, '"');
  55. $prevvalue1= substr($output, 0, $stop);
  56.  
  57. $test = strpos($output, 'name=');
  58.  
  59. $roznica=($value1-$prevvalue1)/$prevvalue1;
  60. $roznica=zaokr($roznica*100, 2);
  61. echo '<td>'.$name.'</td>';
  62. echo '<td>'.zaokr($prevvalue1, 2).'</td>';
  63. echo '<td>'.zaokr($value1, 2).'</td>';
  64. echo '<td>'.$roznica.'%</td>';
  65. echo '</tr>';
  66. }
  67.  
  68. echo '</table>';
  69. ?>


PS. To zadanie robię wyłącznie dla siebie, bo oryginalne notowania (https://sms.bzwbk24.pl/arka/swf/mini_tabela.swf?adres=https://sms.bzwbk24.pl/arka/dane/minitab_all.xml) nie pokazują zmiany kursów.
Jeszcze raz wielkie dzięki.
Go to the top of the page
+Quote Post
nevt
post 5.01.2008, 13:36:09
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


Cytat
Wydaje mi sie, ze jest to zadanie rekrutacyjne do pewnej firmy. Jesli sie myle to przepraszam, ale jesli mam racje, to nie ladnie tak oszukiwac.

Jeżeli to napisał ktoś z tej firmy rekrutującej... Panowie - zamiast gromić - doceńcie inwencję - przecież z punktu widzenia pracodawcy najistotniejsze jest, czy pracownik potrafi samodzielnie rozwiązywać problemy - jeżeli nawet czegoś nie wie / nie umie - to bezcenne jest, jeżeli potrafi sam znaleźć odpowiednie źródło ...


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
batman
post 5.01.2008, 19:37:48
Post #8





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




@nevt Moim zdaniem jeśli ktoś wykonuje jakieś zadanie rekrutacyjne, powinien wykazać się najpierw wiedzą, a dopiero potem umiejętnościami wyszukiwania danych. Chciałbyś pracować z kimś, kto zawsze szuka odpowiedzi na forach, ponieważ sam nie wie jak coś zrobić? W każdym bądź razie nie jest to temat do takich dyskusji.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 00:42