Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [XML][PHP] odczyt źródła i zapis do lokalnego pliku XML
robak142
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 17.03.2012

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


Witam,
Chciałbym odczytać xml'a od dostawcy danych, następnie zapisać wszystkie dane do lokalnego pliku xml.
Dane xml po stronie dostawcy generuje zdalny skrypt -załóżmy: http://domena.pl/data/data.php, a dostęp do skryptu wymaga autoryzacji.
Do autoryzacji użyłem cURL.
CODE
$urL='http://domena.pl/data/data.php';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urL);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, 'user:password');
curl_exec($ch);
curl_close($ch);


Po wywołaniu widzę dane w przeglądarce, ale bez tagów?!. Proszę o pomoc, jak mogę w tym przypadku pobrać dane xml i zapisać je lokalnie na serwerze w formacie xml.
Pozdrawiam i z góry dziękuję.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. $exec = curl_exec($ch);
  2.  
  3. file_put_contents('plik.xml', $exec);
Go to the top of the page
+Quote Post
robak142
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 17.03.2012

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


Witam,
Tak byłoby najprościej, lecz z niewiadomych powodów plik zapisuje się pusty lub tylko z '1' w pierwszym znaku pierwszej linii. Może błędnie zastosowałem cURL?

A więc mam taki o to kod:


CODE
<?php
header("Content-type: text/xml; charset=utf-8");
$urL='http://domena.pl/data/data.php';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urL);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, 'user:pass');
file_put_contents('plik.xml', curl_exec($ch));
curl_close($ch);

?>

W przeglądarce widzę poprawnie drzewo danych xml, ale nie mam pojęcia dlaczego nie zapisuje danych do: plik.xml. Plik jest tworzony ale jedyną jego zawartością jest cyfra 1 w pierwszym wierszu, pierwszej kolumny. Proszę doświadczonych kolegów o wskazanie co czynię źle.
Z góry dziękuję.

Rozwiązanie problemu, może się komuś przyda:

CODE
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://domena.pl/dane.php');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, 'user:pass');
curl_setopt($ch, CURLOPT_FILE, fopen('plik.xml', 'w'));
curl_exec($ch);
curl_close($ch);

?>


Ten post edytował robak142 10.07.2013, 13:49:12
Go to the top of the page
+Quote Post

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: 22.08.2025 - 16:40