Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] kopiowanie zawartosci xmla do innego pliku
Forum PHP.pl > Forum > PHP
roghatt
Witam.
Mam dostep do pliku xml gdzies w sieci i chcialbym ta zawartosc skopiowac do swojego pliku na swoim serwerze, ale na poczatku i na koncu dokumentu dopisujac jeden tag <tag> </tag>
jest to mozliwe do zrobienia?
wookieb
http://php.net/file_get_contents
http://php.net/file_put_contents

ładnie połaczysz 2 funkcje i bedziesz mial to co chcesz.
roghatt
file_get_contents pomija mi te wszystkie tagi xmlowe

<tag> </tag>
cos sie da zrobic zeby nie pomijal?
mike
Cytat(freelinkz @ 16.04.2009, 13:18:37 ) *
file_get_contents pomija mi te wszystkie tagi xmlowe
Niczego nie pomija. file_get_contents() pobiera całą zawartość pliku.
Jeśli działa źle to dlatego, że zrobiłeś błąd.
roghatt
a no tak maly blad.
juz dziala
na samym koncu xmla dopisuje tag jaki chcialem dzieki:
  1. <?php
  2. $file = 'plik.xml';
  3. $current = file_get_contents($file);
  4. $current .= "</dataroot>\n";
  5. file_put_contents($file, $current);
  6. ?>


ale potrzebuje tez jeden tak zapisac na poczatku <dataroot>
to mi dopisuje na koncu, jak zrobic to tez na poczatku?
i jak zrobic ze przy kazdym zapisie danych do pliku czyscilo jego zawartosc?
mike
  1. <?php
  2. $file = 'plik.xml';
  3. $current = "<dataroot>\n";
  4. $current .= file_get_contents($file);
  5. $current .= "</dataroot>\n";
  6. file_put_contents($file, $current);
  7. ?>
roghatt
dzieki.
nie wzialem pod uwage tego ze na poczatku xmla jest:
  1. <?xml version="1.0" standalone="yes"?>


i po tym zeby to zapisalo... da sie jakos ustalic ze po tylu znakach zeby dopisalo wlasnie dopiero ten tag?
wookieb
http://php.net/str_replace
<?xml version="1.0" standalone="yes"?> Zamieniasz na <?xml version="1.0" standalone="yes"?><dataroot>
Metoda przedpotopowa ale zadziała szybko i sprawnie.
roghatt
  1. <?php
  2. $homepage = file_get_contents('www.aaa.pl/dane.xml');
  3.  
  4. $wer1 = array("<?xml version="1.0" standalone="yes"?>");
  5. $wer2 = array("<?xml version="1.0" standalone="yes"?><dataroot>");
  6. $homepage2 = str_replace($wer1, $wer2, $homepage2);
  7.  
  8. fwrite(fopen("plik.xml",'w'),"$homepage2");
  9.  
  10. $file = 'plik.xml';
  11. $current .= file_get_contents($file);
  12. $current .= "</dataroot>\n";
  13. file_put_contents($file, $current);
  14. ?>


to tak wyglada... wysypuje sie przy linijce
  1. $wer1 = array("<?xml version="1.0" standalone="yes"?>");

Parse error: syntax error, unexpected T_DNUMBER, expecting ')' in test/plik.php on line 4

moze sie tutaj czepia tego cudzyslowia co jest przy cyferkach?
mike
Ech, Podstawy podstaw.
  1. <?php
  2.  
  3. $wer1 = array('<?xml version="1.0" standalone="yes"?>');
  4. $wer2 = array('<?xml version="1.0" standalone="yes"?><dataroot>');
  5.  
  6. ?>
roghatt
tak tez robilem... tylko wtedy wyskakiwal inny blad.
przyczyna bylo powielenie tej samej zmiennej
teraz juz jest ok
btw. dopiero sie php ucze wiec jeszcze proste bledy niestety popelniam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.