Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapis do pliku
Forum PHP.pl > Forum > PHP
Szendci
Witam!
Mam następujący problem.
Chciałbym zapisać dane z formularza do pliku i tu jest haczyk.
Struktura pliku to:
Kod
<playlist version="1" xmlns="http://xspf.org/ns/0/">  //stałe niezmienne pliku
<info>http://atrapadoz.com</info>   //stałe niezmienne pliku
<trackList>                                  //stałe niezmienne pliku


<track>                                 //dane dodawane z formularza
<titulo>tytuł</titulo>               //dane dodawane z formularza
<direccion>aaaa</direccion>    //dane  dodawane z formularza
<info>bbbbb</info>                //dane dodawane z formularza
</track>                               //dane dodawane z formularza

</trackList>                         //stałe niezmienne pliku
</playlist>                           //stałe niezmienne pliku

Jest to playlista dane z formularza chcę zapisywać przed znacznikami </trackList> </playlist>.
Wie ktoś jak to zrobić
Cysiaczek
Tak, interfejs DOM to umożliwia. Wczytujesz dokument, wstawiasz w odpowiednie miejsca nowe tracki i zapisujesz. Nie jest to trudne, a jedynie czasochłonne, więc nie proś o gotowce (tak na wszelki wypadek mówię, bo gotowców nie dajemy) happy.gif
Dodaj proszę bbcode do listingu

Pozdrawiam
Szendci
Dobra zrobiłem pliczek aby odczytywało tylko jest problem ponieważ nazwy/linki zawierają znak & i wyświetla błąd

  1. <?php
  2. $doc = new DOMDocument();
  3.  $doc->load( 'list.xml' );
  4.  
  5.  $trackList = $doc->getElementsByTagName( &#092;"track\" );
  6.  foreach( $trackList as $track )
  7.  {
  8.  $titulos = $track->getElementsByTagName( &#092;"titulo\" );
  9.  $titulo = $titulos->item(0)->nodeValue;
  10.  
  11.  $direccions = $track->getElementsByTagName( &#092;"direccion\" );
  12.  $direccion = $direccions->item(0)->nodeValue;
  13.  
  14.  $infos = $track->getElementsByTagName( &#092;"info\" );
  15.  $info = $infos->item(0)->nodeValue;
  16.  
  17.  
  18.  echo &#092;"$titulo - $direccion - $info
  19. &#092;";
  20.  }
  21.  ?>



Kod
[b]Warning[/b]:  DOMDocument::load() [[url="http://localhost/domdocument.load"]domdocument.load[/url]]: xmlParseEntityRef: no name in file:///D:/xampp/htdocs/list.xml, line: 7 in [b]D:\xampp\htdocs\index2.php[/b] on line [b]3[/b]

[b]Warning[/b]:  DOMDocument::load() [[url="http://localhost/domdocument.load"]domdocument.load[/url]]: xmlParseEntityRef: no name in file:///D:/xampp/htdocs/list.xml, line: 8 in [b]D:\xampp\htdocs\index2.php[/b] on line [b]3[/b]

[b]Warning[/b]:  DOMDocument::load() [[url="http://localhost/domdocument.load"]domdocument.load[/url]]: xmlParseEntityRef: no name in file:///D:/xampp/htdocs/list.xml, line: 9 in [b]D:\xampp\htdocs\index2.php[/b] on line [b]3[/b]
bregovic
Masz dwa wyjścia, AFAIK. Użyj CDATA
Kod
<titulo><![CDATA[Tytul & go]]></titulo>

Lub spróbuj użyć htmlentities" title="Zobacz w manualu PHP" target="_manual.
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.