Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Odczyt z dynamicznie pobieranego pliku XML
arpi
post 23.04.2016, 13:53:15
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 7.01.2011

Ostrzeżenie: (10%)
X----


Witam
mam taki problem, mam zintegrowany sklep z różnymi hurtowniami na podstawie plików XML i wszystko działa prawidłowo.
Problem występuje z 1 hurtownią - otóż udostepnia ona link do pobierania cennika w formacie XML.
Wykonując pobranie cennika ręcznie wygląda to tak : wklejam link do przeglądarki, cennik generuje się i wyskakuje okienko z pytaniem gdzie mam zapisać na dysku wygenerowany cennik.

Czy istnieje jakiś sposób na automatyczny odczyt z takiego pliku ?

Testowałem takie funkcje i niestety bez rezultatu.

  1. $filename = "link_do_pliku.php";
  2. $xml = simplexml_load_file($filename);
  3.  
  4. foreach ($xml->products as $produkt) {
  5. .......
  6. }


oraz

  1. $url='link_do_pliku.php';
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, $url);
  4. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  5. curl_setopt($ch, CURLOPT_HEADER, false);
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  7. curl_setopt($ch, CURLOPT_TIMEOUT, 3600);
  8.  
  9. $fp = fopen("cennik_".date('Y-m-d').".xml", "w");
  10. fwrite($fp, curl_exec($ch));
  11. fclose($fp);
  12.  
  13. curl_close($ch);


W innych hurtowniach po wklejeniu linku do cennika w przeglądarkę - cennik wyświetla sie w przeglądarce, wtedy z odczytem nie mam najmniejszego problemu za pomoca 2 powyższych funkcji.
Czy jest możliwy automatyczny odczyt z takiego pliku ?
Jeśli tak to proszę o jakąś wskazówkę
Go to the top of the page
+Quote Post
Pyton_000
post 23.04.2016, 15:16:52
Post #2





Grupa: Zarejestrowani
Postów: 7 821
Pomógł: 1375
Dołączył: 26.10.2005

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


No to może jeszcze oświecisz drogich czytelników w czym jest problem?
Go to the top of the page
+Quote Post
arpi
post 23.04.2016, 16:34:07
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 7.01.2011

Ostrzeżenie: (10%)
X----


W jaki sposób odczytać automatycznie dane z pliku XML, którego nie można wyświetlić bezpośrednio w przeglądarce ?
Link udostępniony przez hurtownię wymusza zapisanie wygenerowanego pliku xml na dysku.
Plik ten ma 13MB, z serwera hurtowni pobiera się ok 5-6 min przy ręcznym odpaleniu.

Chciałbym uzyskać informację czy w ogóle da sie odczytać taki plik ?
Jeśli tak, to jaka funkcja php będzie do tego najlepsza ?

Ten post edytował arpi 23.04.2016, 16:35:21
Go to the top of the page
+Quote Post
Pyton_000
post 23.04.2016, 17:37:32
Post #4





Grupa: Zarejestrowani
Postów: 7 821
Pomógł: 1375
Dołączył: 26.10.2005

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


Eh... A spróbowałeś chociaż pobrać go metodami które podałeś?
Go to the top of the page
+Quote Post
arpi
post 23.04.2016, 19:27:01
Post #5





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 7.01.2011

Ostrzeżenie: (10%)
X----


Próbowałem na różne sposoby, z różnych serwerów nawet, aby wykluczyć nieprzewidziane limity - niestety bez rezultatu.
Dlatego napisałem posta z zapytaniem...

Aby ułatwić podam link do hurtowni - cennik można generować tylko raz na godzinę (w poniedziałek link będzie nieaktywny)

https://online.maxcomputer.pl/api/export/p...b4903

Pyton jeśli wiesz jak dobrać się do tego pliku to proszę o pomoc J
Może być bezpośredni odczyt pliku lub zapisanie go na moim serwerze skąd będzie uruchamiany skrypt.

Ten post edytował arpi 24.04.2016, 11:25:29
Go to the top of the page
+Quote Post
Pyton_000
post 23.04.2016, 20:11:32
Post #6





Grupa: Zarejestrowani
Postów: 7 821
Pomógł: 1375
Dołączył: 26.10.2005

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


Zwykłe
Kod
$test = file_get_contents('https://online.maxcomputers.pl/api/export/products/288c72be826c71c05b490366e6bade73');

a potem rób co chcesz.
Go to the top of the page
+Quote Post
arpi
post 23.04.2016, 21:01:23
Post #7





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 7.01.2011

Ostrzeżenie: (10%)
X----


Link który podałem tworzy na serwerze hurtowni plik export.xml i od razu wyświetla okno z informacja o jego zapisaniu na dysku. (nie znamy bezpośredniej ścieżki do wygenerowanego pliku.

Gdyby file_get_contents miało zadziałać to moje skrypty też by sobie poradziły...
Przetestowałeś u siebie file_get_contents() na moim przykładzie i możesz odczytać zawartość pliku export.xml ?
Go to the top of the page
+Quote Post
Pyton_000
post 24.04.2016, 07:13:44
Post #8





Grupa: Zarejestrowani
Postów: 7 821
Pomógł: 1375
Dołączył: 26.10.2005

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


Oczywiście że tak. W zmiennej miałem cały XML z hurtowni.
Go to the top of the page
+Quote Post
arpi
post 24.04.2016, 20:19:55
Post #9





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 7.01.2011

Ostrzeżenie: (10%)
X----


Dzięki, będę kombinował na swoim serwerze - może uciągnie tak duży plik.
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.12.2019 - 02:26